我花了几天时间寻找这个问题的解决方案而没有任何实际结果。我有一个WiX 3.8项目来安装Excel加载项。该项目创建了一个MSI。我需要引导进入这个项目能够检查.net framework 4.0客户端是否已安装,如果没有,则从Web安装它。
我找到了这个问题的两种可能的解决方案:
如果我使用第1项,那么就无法生成MSI,这是一项要求。 我想做第2或第3项,但是找不到一个能够为下载先决条件创建必要的bootstrap可执行文件的示例。
任何人都可以帮助我吗?
修改1 我试图做如下所示的第1项。我能够使用DisplayInternalUI =“yes”标志从我的MSI显示UI,并使用主题和WixBalExtensionExt设置刻录UI的样式。
<?xml version="1.0" encoding="UTF-8"?>
<Wix
xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="Product Name"
Version="1.0.0.0"
Manufacturer="Company Name"
IconSourceFile="..\path\to\Icon.ico"
DisableModify="yes"
UpgradeCode="[guid]">
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
<Payload SourceFile="Resource\Image1.png"/>
<Payload SourceFile="Resource\Image2.png"/>
<bal:WixExtendedBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" />
</BootstrapperApplicationRef>
<WixVariable Id="WixExtbaThemeXml" Value="Resource\AddInTheme.xml" />
<WixVariable Id="WixExtbaThemeWxl" Value="Resource\AddInTheme.wxl" />
<Chain>
<PackageGroupRef Id ="NetFx40ClientWeb"/>
<MsiPackage Id="MyPackage"
SourceFile="..\MyPackage\bin\$(var.Configuration)\MyPackage.msi"
Vital="yes"
DisplayInternalUI="yes"
/>
</Chain>
</Bundle>
</Wix>
如果有办法以MSI创建引导程序应用程序,请告诉我。
否则,如果我需要使用WiX脚本中的条件来安装它,请确认我是否使用内置的bootstrapper到visual studio。这是如何工作的?
编辑2 由于WiX引导程序仅生成EXE,因此不符合我的要求。是否有一个如何将.net下载(不是可再发行的)引导到WiX项目的实际示例?可再发行的例子很多,但下载没有。