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

답변

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

답변을 수정합니다 –

관련 문제