如何将WIX安装项目与WIX Bootstrapper项目相结合

时间:2014-02-17 07:49:21

标签: c# visual-studio-2010 wix wix3.7

我有一个WIX安装项目,其中包括我的自定义UI和一个WIX Bootstrapper项目,其中包含我的项目的exe和Msi形式的预备点/依赖项。 我想将它们组合成一个单独的exe。 如果我在Bootstrapper项目中引用我的WIX安装项目,那么它没有显示我的WIX UI。但是它能够成功安装我的设置msi和先决条件。

<Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="4056d930-16b2-44eb-a861-16db566ae44c">
  <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />

  <Chain>
    <PackageGroupRef Id="Y"/>
    <MsiPackage SourceFile ="$(var.BiodentifySetUp.TargetPath)" Compressed ="yes" />
  </Chain>
</Bundle>
<Fragment>
  <PackageGroup Id="Y">
    <ExePackage Id="Y" DisplayName="software already install"
                       DownloadUrl="http://download.microsoft.com/download/5/6/2/562A10F9-C9F4-4313-A044-9C94E0A8FAC8/dotNetFx40_Client_x86_x64.exe" 
                       Compressed="no" Cache="yes" PerMachine="yes" Permanent="yes" 
                       Vital="yes" SourceFile=".\y.msi" InstallCommand="/passive /norestart" />
  </PackageGroup>
</Fragment>

如何合并它们以制作exe?

1 个答案:

答案 0 :(得分:4)

我想要做的就是使用单个exe来安装所有依赖项和你自己的msi,并在安装.msi包时显示你自己的MSI用户界面,如果我没有错,那么你只需要将 DisplayInternalUI ='yes'添加到要显示的 MsiPackage 元素中。

例如:

<Chain>
   ...
   <MsiPackage ... DisplayInternalUI='yes' />
</Chain>

如果你想要没有引导程序UI但只有你的MSI用户界面,那么没有这样的引导程序应用程序将默默安装你的依赖项并显示你的MSI用户界面。
请清楚说明您对更好回复的要求。