0
Visual Studio 2015 Redistributable을 설치하고 Wix로 만든 응용 프로그램 설치 프로그램을 실행하는 매우 간단한 Burn 부트 스트 래퍼가 있습니다. 설치하는 동안 재배포 가능 패키지를 설치 한 후 취소 할 것인지 묻는 대화 상자가 자동으로 표시됩니다 (즉, 취소 버튼을 클릭했을 때와 동일한 문제).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
답변을 수정합니다 –