WiX快捷方式只有项目

时间:2014-09-12 08:48:28

标签: wix installer windows-installer shortcut

我有我的bootstrapper项目,只有在bootstrapper的UI上选择了另一个第三部分msi时我才需要添加一个快捷方式。所以我最终得到了另一个像这样的小msi(删除不相关的数据):

<Wix >
<Product >
    <Package />
    <MajorUpgrade />
    <MediaTemplate />

    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramMenuFolder">
            <Directory Id="ApplicationProgramsFolder" Name="FolderName">
            </Directory>
        </Directory>
    </Directory>

    <Component Id="ApplicationShortcut" Guid="PUT-GUID-HERE" Directory="ApplicationProgramsFolder">
        <Shortcut Id="ApplicationStartMenuShortcut"
                Name="App"
                Description="desc"
                Target='"[ProgramFiles64Folder]Folder1\Folder2\app.exe"'
                Arguments=' -n name'
                />
        <RemoveFolder Id="RemoveProgramMenuDir" Directory="ApplicationProgramsFolder" On="uninstall" />
        <RegistryValue Root="HKCU" Key="Software\ACME\App" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
    </Component>

    <Feature Id="ProductFeature" Title="Shortcuts" Level="1">
        <ComponentRef Id="ApplicationShortcut" />
    </Feature>
</Product>

但是我得到了

ICE71: The Media table has no entries.

2 个答案:

答案 0 :(得分:0)

由于缺少语言,产品代码等问题,该来源无论如何都无法编译。如果您发布完整的工作示例,那将会有所帮助。修复这些问题并查看 ICE71 后,您基本上需要删除mediatemplate并添加适当的媒体条目,例如(在尖括号中)

Media Id="1" Cabinet="product.cab" EmbedCab="yes"

然后你得到的就是警告LGHT1079 : The cabinet 'product.cab' does not contain any files。如果此安装不包含任何文件,则可能会安全地忽略此警告。否则,请将文件添加到机柜或将其删除。

答案 1 :(得分:0)

我只是使用在安装MSI时创建快捷方式的转换来扩充第三方MSI。这样你就不必在引导程序中做任何特殊的事情了。