2013-06-14 5 views
1

Я пытаюсь установить prereqs с помощью WiX Bootstrapper. Проблема в том, что prereqs - это MSI, которые нужно будет загружать с удаленного URL-адреса, если они не установлены. Если я использую элемент 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 в вашем браузере).

Смежные вопросы