【发布时间】:2011-02-09 19:47:22
【问题描述】:
我的应用程序需要 .NET Framework 3.5 版。我最近遇到了一个安装了 .NET Framework 但在 Windows Vista 上turned off(也适用于 Windows 7)的客户。
在这种情况下,我的安装程序 (InstallShield 2009) 不会提示用户安装框架(因为它已经安装)并且当我的应用程序运行时它会立即崩溃。我尝试了另一个 .NET 应用程序,它也立即崩溃了。
有什么方法可以检测到这种情况并更优雅地处理它? 仅仅在安装过程中检测到这种情况并不理想,因为 .NET Framework 可以随时关闭。理想情况下,应用程序将能够检查并向用户显示一条友好消息,告诉他们需要打开 .NET Framework。
编辑:在 Windows Vista 或 Windows 7 中“关闭”.NET Framework 与卸载它不同。无需重新安装即可简单地重新打开框架:http://windows.microsoft.com/en-US/windows-vista/Turn-Windows-features-on-or-off
【问题讨论】:
-
我从未听说过可以关闭 .NET Framework。您需要更好地描述情况,可能来自客户。
-
我一直认为(假设)这样做与卸载相同。
-
@John,@dkackman。在 Windows 7 中关闭某个功能不会卸载该功能,它只是被关闭或禁用。
-
@Chris:他也没有说 Windows 7。添加到标签中。
-
如果 CLR 加载程序能够检测到此状态并给出友好的指示“此应用程序无法运行,因为您已禁用 .NET Framework 功能。请“单击此处”管理您启用的特征。”再说一次,我一直希望在未能解决依赖程序集时遇到类似的事情......
标签: c# .net-3.5 windows-7 windows-vista installshield