首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单个WiX安装程序中为多个msi包提供可选安装?

如何在单个WiX安装程序中为多个msi包提供可选安装?
EN

Stack Overflow用户
提问于 2020-01-31 20:14:16
回答 1查看 675关注 0票数 0

我有多个包,我想使用单个安装程序来安装。其中两个是MSI包,另外两个是exe文件。我正在使用WiX使单个安装程序来安装所有四个软件包,并希望给用户选择哪个(或更多)他们想要安装的选项。

在这里,一个MSI包是为WPF桌面应用程序,我正在开发,其他3个包是附加功能,我想给选择/取消选择。

到目前为止,我可以使用WiX BootStrapper安装所有这四个工具。但我找不到如何在安装过程中为用户提供选择选项。

此外,我正在使用Visual Studio 2019 IDE进行开发。

EN

回答 1

Stack Overflow用户

发布于 2020-01-31 23:40:33

假设您使用的是标准引导程序应用程序,则需要引入您最喜欢的Theme.wxl的副本:

代码语言:javascript
运行
复制
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" >
  <bal:WixStandardBootstrapperApplication LicenseFile="Resources\EULA.rtf" LogoFile="Resources\Icon.png" LicenseUrl="http://www.google.com" LocalizationFile="Resources\HyperlinkTheme.wxl" ThemeFile="Resources\HyperlinkTheme.xml" SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>

然后在主题wxs中添加一个按钮:

代码语言:javascript
运行
复制
 <Text X="11" Y="175" Width="130" Height="20" FontId="3" Visible="yes" DisablePrefix="yes">Install Something</Text>
 <Checkbox Name="INSTALLSOMETHING"  X="140" Y="175" Width="-11" Height="20" TabStop="yes" FontId="3" Visible="yes"></Checkbox>

然后在你的bundle.wxs中声明一个变量,这样它就可以作为参数传递给静默安装:

代码语言:javascript
运行
复制
 <Variable Name="INSTALLSOMETHING" bal:Overridable="yes" Type="string" Value="" />

最后使用它的值来控制某些东西的安装。

代码语言:javascript
运行
复制
   <ExePackage Id="Something" SourceFile="Something.exe" InstallCondition="(INSTALLSOMETHING=&quot;1&quot;) or (INSTALLSOMETHING=&quot;True&quot;)" />

冲洗并重复3次。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60003712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档