我正在为Windows桌面应用程序创建安装程序,该安装程序依赖于需要.NET 3.5的另一产品
在Windows 10上安装此软件时,将包含.NET 3.5,并且必须在“添加/删除Windows功能”中启用。我认为在Windows 10上安装.NET 3.5的可下载版本是无效的(如果我错了,请纠正我!)。
那么,有没有办法让WiX启用.NET 3.5的“功能”,而不是下载并安装它?
答案 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”。将打开“本地计算机策略编辑器”,在这里我们可以在“计算机配置”>“管理模板”>“系统”下找到必要的设置。在左侧的“设置”下,我们可以找到名为“指定可选组件安装和组件修复的设置”的设置。 这就是我们要修改的内容。让我们打开它并选中“已启用”,然后选中第二个选项–“直接从Windows Update而不是Windows Server Update Services(WSUS)下载修复内容和可选功能”,然后单击“确定”: 现在,如果我们尝试添加.NET Framework 3.5,我们可以看到它成功了。
然后我个人将此策略设置恢复为原始值(如果不同)。