使用 InstallShield LE 2015 安装或激活 .NET 3.5 Windows XP - 10

Install or activate .NET 3.5 Windows XP - 10 using InstallShield LE 2015

我们的程序使用第 3 方 .NET COM 包装器编写以返回 .NET 2.0,因此它适用于安装的 .NET 3.5 SP1 框架。

自从 .NET 3.5 成为 Windows 从 Windows 8 开始默认禁用的功能后,我们的软件在 Windows 8 - 10 上运行时遇到了问题。安装程序表示未安装 .NET 3.5 功能,但不会为用户激活该功能。 .NET 3.5 框架成为 Windows 7 和 Vista 中的 .NET 3.0 中的一个 Windows 功能,但它在那时是默认启用的,所以我们没有遇到任何问题。

我读到有一个已解决的问题,IOA-000073897。新的先决条件 Microsoft .NET Framework 3.5 SP1 (Windows Feature).prq 可用于 2013 年之前的 InstallShield 版本,并且 InstallShield 的未来版本将包括此 InstallShield 先决条件。我没有在 InstallShield LE 2015 中看到先决条件。如果我继续在 IS LE 2015 中使用 Microsoft .NET Framework 3.5 SP1(Web 下载)先决条件,我的安装在 Windows 8.1 和 10 上仍然会以同样的方式失败.

我尝试将 "Microsoft .NET Framework 3.5 SP1 (Windows Feature).PRQ" 先决条件添加到我的 ISLE 安装和我正在构建的安装程序中,结果相同。

InstallShield Limited Edition 2015 能否满足 Windows XP - 10 上的 .NET 3.5 Framework 要求?

如果可以,我该如何让它工作?我错过了什么?

如果不能,哪些版本支持此设置?

我的回答包括放弃对 Windows XP 的自动安装支持,这对我们来说并不是什么大损失。

要完成这项工作,首先需要的是 "Microsoft .NET Framework 3.5 SP1 (Windows Feature)" InstallShield 先决条件文件 (.prq)。我在 InstallShield 的页面上找到了我的第一个关于 Windows 7 的问题,然后在他们的社区用户表单中与我分享了第二个。

要在 Windows 10 上使用 ISLE 2015,我需要修改第二个以包含 Windows 10 操作系统条件行:

<operatingsystemcondition MajorVersion="10" MinorVersion="0" PlatformId="2" CSDVersion=""></operatingsystemcondition>

我把这个修改后的.PRQ文件放到和其他ISLE2015 PRQ文件相同的目录下,运行Visual Studio以管理员身份下载需要的项目,然后退出并切换回受限用户并像往常一样使用它。我取消选中我一直在使用的 "Microsoft .NET Framework 3.5 SP1 (Web Download)" 功能并选中这个新的 "Windows Feature" 版本。

这可能就是您所需要的,除非您使用带有 setup.exe 启动器的 SingleImage 版本并且只提供 exe 启动器。在这种情况下,您需要将 InstallShield Prerequisites Location 配置为 "Extract from Setup.exe" 在 Setup.exe 属性下的 SingleImage of Releases 或在 Redistributables 选项卡的新 Windows Feature 的 prpperties 中。

之后我的安装程序在 Windows Vista-10 上运行。在 Vista 和 7 上,它可以顺利运行,在 8-10 上,它会提示启用 .NET 3.5 并在继续安装之前启用它。