gpt4 book ai didi

.net-3.5 - 使用WIX3.6通过Burn安装.NET Framework 3.5 SP1

转载 作者:行者123 更新时间:2023-12-03 03:05:05 25 4
gpt4 key购买 nike

我正在尝试使用 Burn 和 WIX 3.6 为我的应用程序制作安装程序。安装程序必须能够从 Microsoft 网站安装 .NET 3.5 SP1。我正在使用 WIX 3.5 创建的工作 WIX 项目。如果先前已在目标计算机上安装了 .NET 3.5 SP1,则它可以工作。第一步似乎是创建 bundle ,因此我向 Product.wxs 文件添加了一个元素。当我这样做时,我收到一条错误,指出该在架构中无效,我必须有一个。这是否意味着我必须将所有产品定义转移到一个片段中?目前还不清楚我是如何做到这一点的。那么事情就会变得更加复杂,因为 WixNetfxExtension 只为 .NET 4.0 和 4.5 提供 PackageRef。我还没有准备好将我的应用程序切换到该版本的框架。那么如何从我的 bundle 中的 Web 源获取 .NET 3.5 SP1?

是否有在任何地方执行此操作的有效示例?

最佳答案

您的问题不清楚您要在哪里尝试做某事,因此我将从头开始。

创建一个新的 Wix burn Bootstrap 项目。这是您的依赖项将被安装的位置,然后您现有的 Wix 3.5 安装程序将从中生成。

下载 .net 3.5 SP1 完整包并记下用于下载它的直接 URL。

使用 heat.exe(在 wix 3.6 bin 目录中)运行以下命令,该命令将生成包含 .net 安装程序详细信息的 WXS 文件。

heat.exe payload [path_to_net_installer] -o [path_to_wxs]

this.will 在 wxs 中为您提供以下内容:

<RemotePayload CertificatePublicKey="F321408E7C51F8544B98E517D76A8334052E26E8"
CertificateThumbprint="D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1"
Description=".NET Framework 3.5 Setup"
Hash="3DCE66BAE0DD71284AC7A971BAED07030A186918"
ProductName=".NET Framework 3.5"
Size="242743296"
Version="3.5.30729.1" />

将其作为 ExePackage 的子项添加到您的 Bootstrap 项目中元素并使用之前保存的下载网址更新该元素。这将自动下载 .net 安装程序,或者您可以将其放置在 Bootstrap exe 旁边,它会检测到它。

创建 chainBundle其中包含安装程序的 .net ExePackage 和 MsiPackage。然后您将得到类似的结果(许多必需的属性我将让您填写!):

 <Bundle Name="$(var.SkuName)"
Copyright="$(var.Copyright)"
Manufacturer="$(var.Manufacturer)"
Version="$(var.ProductVersion)"
UpgradeCode="$(var.UpgradeCode)">
<Chain>
<ExePackage Id="dotNetFX3.5">
<RemotePayload />
</ExePackage>
<MsiPackage Id="MyMsi" />
</Chain>
</Bundle>

构建后,您应该会得到一个包含您的 msi 的大 exe 文件,或者如果您选择不压缩它,则会生成一个执行您的 msi 的 exe 文件(它需要位于同一文件夹中)。

关于.net-3.5 - 使用WIX3.6通过Burn安装.NET Framework 3.5 SP1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com