WiX テクノロジを使用して Web インストーラを作成しています。次のコードを使用して、サーバーから MSI パッケージをダウンロードする単純なインストーラーの作成とテストに成功しました。
private void OnResolveSource(object sender, ResolveSourceEventArgs e)
{
try
{
if (!File.Exists(e.LocalSource) && !string.IsNullOrEmpty(e.DownloadSource))
e.Result = Result.Download;
}
catch (System.Exception ex)
{
MessageBox.Show("exception " + ex.Message);
}
}
<MsiPackage Compressed="no" DownloadUrl="https://some/DummyInstaller.msi" Name="DummyInstaller.msi" SourceFile="..\DummyInstaller\bin\Debug\DummyInstaller.msi" Id="DummyInstallationPackageId" Cache="no" >
<Payload SourceFile="..\DummyInstaller\bin\Debug\cab1.cab" DownloadUrl="https://dummydomain.com/cab1.cab" Id="cab1.cab" Compressed="no" />
</MsiPackage>
ただし、インターネットにアクセスする前に資格情報の入力をユーザーに求めるプロキシ サーバーでセットアップを実行すると、Web インストーラーが MSI のダウンロードに失敗します。ただし、インストーラーは次の 2 つの場合に機能します。
- プロキシ サーバーがコンピューターの既定の資格情報を使用している場合
- または、IE にアクセスして、Web サイトにアクセスする前に、要求されたときに有効な資格情報を入力するとします。
質問: Wix フレームワークでは、開発者がプロキシ対応のインストーラを作成して、インストーラ自体がプロキシ サーバーに必要な資格情報を要求することを許可していますか?
注: 以下は、インストーラーが失敗したときにログに記録されたエラー メッセージです: エラー 0x80070005: URL のダウンロードに失敗しました...