2014-02-22 74 views
0

我有一个.NET 4.0 Winforms应用程序,我试图在InstallShield下的Windows 8.1上安装。当文件被复制时,有许多Windows弹出消息:如何在Windows 8.1上安装.NET 4.0应用程序?

An App on your PC needs the following Windows Feature: 
.NET Framework 3.5 (includes .NET 2.0 and 3.0) 

什么生成此消息,以及如何消除它?

我敢肯定,我所有的应用程序可执行文件和程序集都是基于“参考”和项目属性设置为4.0的。

我想让安装继续进行,而不需要.NET 3.5安装,因为它不是必需的;如果我选择“跳过此安装”,应用程序将正常运行。即使我要使用DISM预先安装.NET 3.5,它也需要用户找到Windows 8安装CD以启用该功能。

+1

您在Windows 8中触发“按需提供功能”检测逻辑。您不留下面包屑来猜测原因。更多关于它[这里](http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx)。 –

+0

这绝对是发生了什么事。我猜测我的应用程序正在为按需功能生成错误的触发器。我会向微软公开一个案例。 – Mike

回答

1

事实证明,包含.NET程序或程序集的多个InstallShield组件的InstallShield组件“.NET Settings”设置为“本地程序集”,从而触发Windows 8 Feature On Demand。由于组件不需要在此安装之外使用,因此解决方案是将它们设置为“不是.NET程序集”。

相关问题