我编写了一个我一直在使用的 WiX 自定义 MBA,它嵌入了我安装所需的所有安装包(msis、cabs 和 exe)。但是我现在想做一个轻量级的网络引导程序,它将下载需要安装的包。我以为您可以使用底层的 WiX 引导程序引擎免费获得它,但我想我错了。
我尝试订阅 ResolveSource 事件以获取包的下载 url 并将其下载到本地源位置,但此时似乎为时已晚,因为我的安装失败并出现错误“无法解析文件的源: "(即使下载成功)。
我尝试过的示例:
private void OnResolveSource(object sender, ResolveSourceEventArgs e)
{
string localSource = e.LocalSource;
string downloadSource = e.DownloadSource;
if (!File.Exists(localSource) && !string.IsNullOrEmpty(downloadSource))
{
try
{
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(e.DownloadSource, e.LocalSource);
}
}
catch (ArgumentNullException ex)
{
e.Result = Result.Error;
}
catch (WebException ex)
{
e.Result = Result.Error;
}
}
}