我正在使用 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>
但是,当我在要求用户在访问 Internet 之前输入凭据的代理服务器下运行安装程序时,我的 Web 安装程序无法下载 MSI。尽管安装程序适用于以下两种情况:
- 如果代理服务器使用计算机默认凭据
- 或者,如果我在访问任何网站之前访问 IE 并在它要求我输入有效凭据时输入。
问题: Wix 框架是否允许开发人员制作代理感知安装程序,以便安装程序本身要求代理服务器所需的凭据?
注意:以下是安装程序失败时找到的错误消息:错误 0x80070005:尝试下载 URL 失败...