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

标签 .net windows installshield-le

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

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

我读到有一个已解决的问题,IOA-000073897 .新的先决条件 Microsoft .NET Framework 3.5 SP1(Windows 功能).prq 可用于 2013 年之前的 InstallShield 版本,并且 future 版本的 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 功能).PRQ”先决条件添加到我的 ISLE 安装和我正在构建的安装程序中,结果相同。

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

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

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

最佳答案

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

要完成这项工作,首先需要的是“Microsoft .NET Framework 3.5 SP1(Windows 功能)”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 下载)”功能并选中这个新的“Windows 功能”版本。

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

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

关于.net - 使用 InstallShield LE 2015 安装或激活 .NET 3.5 Windows XP - 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133253/

相关文章:

c# - 类、接口(interface)、泛型......需要简化

.net - MemoryStream 如何处理分配的缓冲区?

python - Windows 上没有适用于 Python 3.5 的 cx_Oracle 吗?

visual-c++ - 安装 Shield LE - 错误 6058 ...在 64 位中合并 Visual C++ 10.0 CRT

visual-studio-2013 - 如何在 Visual Studio 2015 中打开 InstallShield Limited Edition 项目?

visual-studio-2010 - 使用 InstallShield LE 从默认设置自定义 setup.exe 图标

.net - 为 .net 商店开始移动/IOS 开发的最佳方式

.net - 如何从 wcf 服务中检索未知类型?

c++ - 使用低级 WinAPI 调用的 C++ 中的 Windows 窗体自动化?

python - py2exe生成dll?