在WiX中,启用.NET 3.5的正确方法是什么?

时间:2019-08-01 00:31:20

标签: wix .net-3.5 bootstrapper

我正在为Windows桌面应用程序创建安装程序,该安装程序依赖于需要.NET 3.5的另一产品

在Windows 10上安装此软件时,将包含.NET 3.5,并且必须在“添加/删除Windows功能”中启用。我认为在Windows 10上安装.NET 3.5的可下载版本是无效的(如果我错了,请纠正我!)。

那么,有没有办法让WiX启用.NET 3.5的“功能”,而不是下载并安装它?

3 个答案:

答案 0 :(得分:0)

不确定这是否是正确方法,但是您可以尝试使用以下命令进行自定义操作

dism.exe /online /enable-feature /featurename:NetFx3

如果您想尝试其他Windows功能,可以通过dism /online /get-features获取所有可用功能的列表。

答案 1 :(得分:0)

  

WiX示例 :一般来说,一些可能有用的链接:

     

替代工具 :也许要记住,商业工具具有易于使用的功能,可以使您的产品快速上市。 WiX很棒。


先决条件 :如果不存在.NET框架,我建议您向程序包中添加LaunchCondition以中止安装。您可以将.NET框架与您的应用程序捆绑在一起,但我实际上不建议这样做:Outdated prerequisites in packages

LaunchCondition :LaunchConditions概念在允许安装继续进行之前检查是否满足特定条件:

快速在线示例

<Condition Message="The .NET Framework 2.0 must be installed">
    Installed OR NETFRAMEWORK20
</Condition>

WiX和.NET Framework :用于检测.NET框架的一些内置措施。


链接

答案 2 :(得分:0)

有一种方法可以在Windows 10和最新的Windows Server上安装.NET 3.5:更新组策略值,该值将允许下载.NET 3.5(blog post)。

...打开命令提示符,然后键入“ gpedit”。将打开“本地计算机策略编辑器”,在这里我们可以在“计算机配置”>“管理模板”>“系统”下找到必要的设置。在左侧的“设置”下,我们可以找到名为“指定可选组件安装和组件修复的设置”的设置。 policy list 这就是我们要修改的内容。让我们打开它并选中“已启用”,然后选中第二个选项–“直接从Windows Update而不是Windows Server Update Services(WSUS)下载修复内容和可选功能”,然后单击“确定”: policy settings 现在,如果我们尝试添加.NET Framework 3.5,我们可以看到它成功了。

然后我个人将此策略设置恢复为原始值(如果不同)。