Reputation: 21
I am trying to install prereqs using a WiX Bootstrapper. The problem is, the prereqs are MSIs that will need to be downloaded from a remote URL if they are not installed. If I use the ExePackage element it will fail stating that msi is not a valid Win32 application, but if I use a MsiPackage element the compile will fail saying:
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.
Here is a sample MsiPackage element I am using:
<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>
Anyone know what I am doing wrong?
Upvotes: 1
Views: 853
Reputation: 20812
The DownloadUrl
you are using is not the actual download URL. It gets redirected (HTTP Status 302) to
http://download.microsoft.com/download/F/B/7/FB728406-A1EE-4AB5-9C56-74EB8BDDF2FF/1033/x86/ReportViewer.msi
Use that instead.
You can find this out by navigating to the original URL and then looking at the download history of your web browser. It should show the actual URL used while downloading. For a more technical method, it'll be in the response headers, which you can see with web browser developer tools (usually opened with F12 in your browser).
Upvotes: 0