2016-10-26 77 views
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> 

回答

1

我相信你應該刪除以下退出代碼,因爲它是沒有必要安裝軟件包。可能與您的引導程序安裝衝突。

 <ExitCode Value="3010" Behavior="forceReboot"/> 

希望這可以幫助你!

+0

如果用戶在其機器上安裝了新版本的可再發行組件,則需要處理ExitCode 1638。我不知道我們爲什麼要處理3010 - 它是從http://stackoverflow.com/questions/37396773/wix-burn-vcredist – Runt8

+1

拉出刪除處理錯誤3010修復它 - 我需要做更多的研究看看這是什麼原因。標記爲答案,雖然我們需要保持ExitCode 1638. – Runt8

+0

我將編輯我的答案 –