Wix工具集:在StdBA中跳过成功对话框



我在捆绑包中使用WixStandardBootstrapperApplication它将安装.NET 4.8和一个MSI包,可以在下面找到代码,

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
ThemeFile="theme.xml"
SuppressOptionsUI="yes"
LicenseUrl=""/>
</BootstrapperApplicationRef>
<Chain DisableRollback="yes">
<PackageGroupRef Id="NetFx48Web"/>
<MsiPackage Id="myMBS"
SourceFile="$(var.Mbs.Updater.TargetPath)"
DisplayInternalUI="yes"/>
</Chain>

在MSI包中,我们有在安装完成后启动应用程序的自定义操作

<InstallExecuteSequence>
<Custom Action="LaunchApplication" After="InstallFinalize" />
</InstallExecuteSequence>

所以我们不需要StdBA捆绑包来显示成功对话框,如何跳过它我已经研究过了,但没有找到任何可行的解决方案

WixInternalUIBootstrapperApplication是在v4.0-preview.1中添加的,用于捆绑包具有0-n个先决条件和一个主MSI的情况。如果不需要安装预设备,则只显示启动屏幕和MSI UI。否则,prereq BA会在安装prereq时显示其UI,然后在显示MSI UI之前关闭。

我得出结论,这在StdBA 中是不可能的

默认用户界面对话框将在StdBA中的整个安装过程中出现。因此,现在还不可能跳过页面。如果需要的话,意味着定制BA将有助于实现这一目标。我还没试过

支撑环节https://stackoverflow.com/a/43522884/7013033

更常见的是,在成功安装所有软件包后,为用户提供是否启动应用程序的选项。这可以通过WixStandardBootstrapperApplication内置属性LaunchTarget来完成。然后,您还可以从msi安装程序中删除自定义操作。

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
ThemeFile="theme.xml"
SuppressOptionsUI="yes"
LicenseUrl=""
LaunchTarget="{YOURAPPLICATIONPATH}"/>
</BootstrapperApplicationRef>
<Chain DisableRollback="yes">
<PackageGroupRef Id="NetFx48Web"/>
<MsiPackage Id="myMBS"
SourceFile="$(var.Mbs.Updater.TargetPath)"
DisplayInternalUI="yes"/>
</Chain>

文件https://wixtoolset.org/documentation/manual/v3/xsd/bal/wixstandardbootstrapperapplication.html

最新更新