我正在使用rtflicence标准引导程序在链中的poject msi之前安装dotnet。
我注意到有一个“选项”按钮,显示安装位置对话框,允许用户更改默认安装目录。
我需要:
我读到可以将Burn变量从bootstrapper传递给msipackage,但是我没有找到任何进一步的细节,并希望被指向正确的方向。
由于
答案 0 :(得分:21)
要使用选项1,您必须滚动自己的BootstrapperApplication并从菜单中删除选项按钮。
选项二更容易实现。引导程序使用一个名为InstallFolder
的特殊Burn变量来获取和设置该视图上文本块中的内容,您可以在Bundle
元素内分配该内容。
<Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]"/>
常量ProgramFilesFolder
将在程序启动时设置该文本块的值,如果用户浏览到另一个目录,它将存储在同一个变量中。要将其传递给您的链中的MSI,请使用InstallFolder
标记传递MsiProperty
(INSTALLLOCATION
是您的WiX项目中的属性名称。)
<MsiPackage Vital="yes" DisplayName="Your Name" Id="MsiId" SourceFile="path/to/file.msi">
<MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
</MsiPackage>
答案 1 :(得分:18)
我刚刚发现了SuppressOptionsUI选项,它解决了你的选项1而没有滚动你自己的BootstrapperApplication:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="..\eula.rtf" SuppressOptionsUI="yes"/>
</BootstrapperApplicationRef>
<Chain>
</Chain>
</Bundle>
</Wix>
答案 2 :(得分:0)
我认为您可以尝试通过创建主题来删除选项按钮。我不必自己使用主题,但这里有两个相关的SO链接可能会让你指向这个方向: