与Wix bootstrapper混淆

时间:2012-10-24 19:14:05

标签: wix wix3.6

我无法理解wix文档。我创建了一个简单的安装程序,允许用户为app选择目标文件夹。它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="AppName" Language="1033" Version="1.0.0.0" Manufacturer="Manufacturer" UpgradeCode="guid">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />

    <Feature Id="ProductFeature" Title="SetupProjectFeature" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
    </Feature>

    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
    <UIRef Id="WixUI_InstallDir"/>

</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="OeeCoach" />
        </Directory>
    </Directory>
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
        <!-- TODO: Insert files, registry keys, and other resources here. -->
        <Component Id="EntityFramework" Guid="guid">
            <File Id="EntityFramework.dll" Source="../App/bin/Release/EntityFramework.dll" KeyPath="yes" />
        </Component>
        <Component Id="MvvmLight.Extras" Guid="guid">
            <File Id="GalaSoft.MvvmLight.Extras.WPF4.dll" Source="../App/bin/Release/GalaSoft.MvvmLight.Extras.WPF4.dll" KeyPath="yes" />
        </Component>
    </ComponentGroup>
</Fragment>
</Wix>

现在我需要检查.net 4及其先决条件,但我无法理解这一点。文档说我需要使用Bundle元素,但编译器似乎在与同一wix文件中的Product元素一起时会抱怨。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

引导程序是一个与安装项目不同的项目。如果您使用的是Visual Studio,请在解决方案中添加一个新项目,然后选择Bootstrapper项目(而不是安装项目)。