我做了一个bootstrapper (bootstrapper是一个包含其他安装程序放在一起的安装程序,在这种情况下将是我的应用程序和SQL Express数据库安装程序)。当我启动引导程序时,SQL Express安装窗口显示在屏幕上,如果我关闭窗口,我的应用程序仍然设置,我需要如果用户关闭SQL Express安装窗口,那么我的程序将不会被安装。
<?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="Bootstrapper" Version="1.0.0.0" Manufacturer="MyCompany AboutUrl="https://mycompany.ru/"
Copyright="ol raits rezervit" UpgradeCode="1788BF21-18BD-49E8-A572-DD38F9B67A88">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
<util:RegistrySearch Root="HKLM" Key="SOFTWAREMicrosoftMicrosoft SQL Server"
Result="exists" Variable="SQLExpressInstalled_x64" Win64="yes"/>
<Chain>
<ExePackage SourceFile="SQL2019-SSEI-Expr.exe" DetectCondition="SQLExpressInstalled_x64" Permanent="no"></ExePackage>
<MsiPackage SourceFile="MyProgram.msi"></MsiPackage>
</Chain>
</Bundle>
</Wix>
是否会添加"对你有用的建议?我已经在您提供的代码示例中添加了此建议,作为exeppackage的最后一个参数。
"Vital">指定包是否必须成功才能继续链。默认的"是"指示如果包失败,则链将失败并回滚或停止。如果"no"则即使包报告失败,该链也将继续。
<?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="Bootstrapper" Version="1.0.0.0" Manufacturer="MyCompany AboutUrl="https://mycompany.ru/ "Copyright="ol raits rezervit" UpgradeCode="1788BF21-18BD-49E8-A572-DD38F9B67A88">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
<util:RegistrySearch Root="HKLM" Key="SOFTWAREMicrosoftMicrosoft SQL Server"
Result="exists" Variable="SQLExpressInstalled_x64" Win64="yes"/>
<Chain>
<ExePackage SourceFile="SQL2019-SSEI-Expr.exe" DetectCondition="SQLExpressInstalled_x64" Permanent="no" Vital="yes"></ExePackage>
<MsiPackage SourceFile="MyProgram.msi"></MsiPackage>
</Chain>
</Bundle>
</Wix>
Ref - https://wixtoolset.org/documentation/manual/v3/xsd/wix/exepackage.html