繁体   English   中英

Windows 8上的InstallShield .NET 4.6.1 Framework安装

[英]InstallShield .NET 4.6.1 Framework installation on Windows 8

我正在尝试使用Windows 8上从NDP461-KB3102436-x86-x64-AllOS-ENU.exe提取的msi文件(netfx_Full_x64.msi)安装.NET Framework 4.6.1。这是必需的,因为我们将其打包在使用InstallShield的另一个msi软件包。 它可以在Windows 7和Windows Server 2008上正常工作。当我尝试在Windows 8上安装它时,出现以下错误:Microsoft .NET Framework 4.5已经是此操作系统的一部分,但目前已关闭。 若要启用.NET Framework 4.5,请使用“控制面板”中的“打开或关闭Windows功能”。

  1. 我检查了Windows功能,然后将其打开。
  2. 不知道为什么当我尝试安装更高版本的.NET Framework时会问这个问题。
  3. 我尝试在MSI安装的UI阶段以静默方式运行.NET Framework可执行文件,但出现错误:WM_ACTIVATEAPP:可以看到焦点窃取者的窗口,而不是找回焦点

有经验的人可以提供帮助吗?

谢谢

我没有经验,但是基于错误,适用于Windows 8或更高版本的.NET Framework安装程序需要首先启用.NET Framework 4.5。 在Windows 8上,.NET Framework被列为一项功能,但本地没有安装它的位。 您需要确保已启用Windows 8的.NET框架。

根据InstallShield的版本,您可能可以将.NET Framework添加到功能中(对于MSI),或者对于套件/高级UI安装,请将其与将要安装的程序包相关联。 确保在所需的.NET Framework 4.6安装之前对其进行排序。

否则,您将需要创建一个自定义的先决条件,该先决条件调用DISM来安装软件包。

如果您要定位的系统是脱机的,无法访问Internet,则需要在安装之前提示用户安装.NET Framework 4.5,然后退出安装程序。 这是因为在Windows 8中这些位不是本地的,它将尝试下载它们。 如果没有互联网连接,则操作系统需要访问原始安装介质,而这超出了大多数安装程序的范围。


编辑:我再次阅读您的描述,并且您声明您已经验证了.NET Framework 4.5的功能已启用。 到那时我会和你一样困惑。 您是否使用CMD提示符或PowerShell检查了功能的状态? 尝试以下命令

DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx3
DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx4-AdvSrvs
DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx4Extended-ASPNET45

检查当前版本和每个软件包的状态。 具有讽刺意味的是,在Windows 10上(我对此进行了完整性检查)它表明已安装4.6,但仍显示主/次要4.5。 去搞清楚。

  • 在Windows 8和Windows Server 2012上,它在“控制面板”中的“已安装的更新”项下列为Microsoft Windows更新(KB3102439)。

  • 在Windows 8.1和Windows Server 2012 R2上,它在“控制面板”中的“已安装的更新”项下列为Microsoft Windows更新(KB3102467)。

  • 在Windows 10上,它在“控制面板”中的“已安装的更新”项下列为Microsoft Windows更新(KB3102495)。

https://support.microsoft.com/zh-CN/kb/3102436

您必须通过启动条件对其进行验证。 您可以通过以下注册表项进行操作:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

Version应该大于4.6.01055

该消息可能会要求您的用户使用特定的KB更新其设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM