2013-06-14 3 views
1

WiX 부트 스트 래퍼를 사용하여 사전 요구 사항을 설치하려고합니다. 문제는 사전 요구 사항이 설치되지 않은 경우 원격 URL에서 다운로드해야하는 MSI입니다. 나는 ExePackage 요소를 사용하는 경우는 MSI는 올바른 Win32 응용 프로그램이 아닙니다 없다는 실패합니다,하지만 난 MsiPackage 요소를 사용하는 경우 컴파일 말하는 실패 : 여기 Wix Toolset MsiPackage Prereq

Unable to read package ''. 
This installation package could not be opened. Verify that the package exists 
and that you can access it, or contact the application vendor to verify that 
this is a valid Windows Installer package. 

내가 사용하고 샘플 MsiPackage 요소입니다 :

<MsiPackage 
     Id="ReportViewer2012Installer" 
     Name="ReportViewer.msi" 
     Compressed="no" 
     Cache="no" 
     Permanent="yes" 
     Vital="yes" 
     DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=217022" 
     InstallCondition="NOT ReportViewer2012Installed" 
     SuppressSignatureVerification="yes"> 
      <RemotePayload 
       Description="Report Viewer 2012 Setup" 
       Hash="D80B972F7CBFEEB5AF5295890B5652D080286F89" 
       ProductName="Report Viewer 2012" 
       Size="7610368" Version="11.0.0.0" /> 
    </MsiPackage> 

누구나 내가 뭘 잘못하고 있는지 알아?

답변

0

사용중인 DownloadUrl은 실제 다운로드 URL이 아닙니다. 리디렉션 됨 (HTTP 상태 302)

http://download.microsoft.com/download/F/B/7/FB728406-A1EE-4AB5-9C56-74EB8BDDF2FF/1033/x86/ReportViewer.msi 

대신 해당 메시지가 사용됩니다.

원본 URL로 이동 한 다음 웹 브라우저의 다운로드 기록을 보면 알 수 있습니다. 다운로드하는 동안 사용 된 실제 URL을 표시해야합니다. 좀 더 기술적 인 방법은 웹 브라우저 개발자 도구 (대개 브라우저에서 F12로 열림)에서 볼 수있는 응답 헤더에 있습니다.