我的应用程序需要.NET Framework版本3.5。最近我遇到了一个客户,在Windows Vista(也适用于Windows 7)上已经安装了.NET Framework但却关闭了它。
在这种情况下,我的安装程序(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