0
我有一個非常簡單的Burn引導程序,它安裝Visual Studio 2015 Redistributable,然後運行我們的應用程序安裝程序(使用Wix創建)。在安裝過程中,安裝可再發行組件後,將自動彈出一個對話框,詢問是否要取消(即,如果單擊「取消」按鈕,將發生同樣的情況)。Wix Burn自動取消
我已經創建了幾個其他的安裝程序,它們使用相同的模式並從未見過這個問題。下面是一些識別信息,簡化安裝程序刪除:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<?define ProductVersion = "1.0"?>
<?define Manufacturer = "XXXX, Inc."?>
<?if $(var.Platform) = x64 ?>
<?define VCRedistExe = "vc_redist.x64.exe"?>
<?else?>
<?define VCRedistExe = "vc_redist.x86.exe"?>
<?endif?>
<Bundle Name="$(var.ProductName)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)" Condition="VersionNT >= v6.0">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication LicenseFile="$(var.AssetsPath)\License.rtf" SuppressOptionsUI="yes"/>
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="redist"/>
<MsiPackage SourceFile="$(var.MsiPath)" DisplayInternalUI="no"/>
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="redist_vc140">
<ExePackage Id="vc140" DisplayName="Visual C++ 2015 Redistributable" Cache="no" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes" SourceFile="resources/$(var.VCRedistExe)" InstallCommand="/install /quiet /norestart" Protocol="burn">
<ExitCode Value="3010" Behavior="forceReboot"/>
<!-- Ignore "Newer version installed" error -->
<ExitCode Value="1638" Behavior="success"/>
</ExePackage>
</PackageGroup>
</Fragment>
<Fragment>
<PackageGroup Id="redist">
<PackageGroupRef Id="redist_vc140"/>
</PackageGroup>
</Fragment>
</Wix>
如果用戶在其機器上安裝了新版本的可再發行組件,則需要處理ExitCode 1638。我不知道我們爲什麼要處理3010 - 它是從http://stackoverflow.com/questions/37396773/wix-burn-vcredist – Runt8
拉出刪除處理錯誤3010修復它 - 我需要做更多的研究看看這是什麼原因。標記爲答案,雖然我們需要保持ExitCode 1638. – Runt8
我將編輯我的答案 –