我想检查机器上是否安装了.Net 2.0或更高版本。我想以一种新版本发布的方式检查旧代码的工作原理。由于代码是C++,因此注册表检查非常理想。如何从注册表中检查.NET的版本?
2
A
回答
3
本博客文章应该有你需要的所有信息:http://blogs.msdn.com/b/astebner/archive/2007/11/29/6608419.aspx
0
阅读您的问题毫不夸张地说,我会建议一个引导程序它执行检查,然后启动你的.NET应用程序。
为什么?因为如果.Net应用程序依赖于特定的.Net版本(例如3.0),并且机器上仅安装了v2.0,则您的应用程序将崩溃。如果您有本机引导程序.exe,那么您可以使用WinAPI检查注册表(已有数千个示例),然后启动您的.Net应用程序。
另一种方法是使用仅依赖于.Net 2.0的引导程序进行检查 - 目前该版本相当普遍,正确打补丁和更新的机器不具备该功能的几率相当小(如果它的机会更大是一台WinXP之前的机器)。更高版本的.Net框架与v2.0是向后兼容的(尽管我不确定4.0 CP框架的缩减性质是否仍然与v2.0完全兼容)。
相关问题
- 1. 从注册表中查找MSXML版本
- 2. 如何从注册表中检索值?
- 3. 如何从注册表中检索已安装的应用程序版本?
- 4. 如何找出其中的.NET版本注册在IIS
- 5. 如何快速检查RMI注册表?
- 6. 如何从内部检查.net/mono版本.net
- 7. 如何从Windows注册表获取IE版本号?
- 8. 如何比较WiX中的注册表版本?
- 9. 如何检查tlb文件是否使用C++在注册表中注册?
- 10. .net - 您如何注册启动脚本?
- 11. 如何检查.NET DLL是否已注册?
- 12. 在注册表中查找Chrome浏览器版本
- 13. 如何从注册表
- 14. 所有版本SQL Server注册表项
- 15. 如何检查无法注册热键?
- 16. Dot Net Nuke - 如何在第5版中注册用户控件
- 17. IIS 7.5 WCF版本注册
- 18. 找出哪些程序的版本是从注册表
- 19. 如何从命令行更改注册表注册表?
- 20. 如何从安装了IE的Windows注册表中查找?
- 21. 如何检查Vala中的gtk版本?
- 22. 如何检查Spark版本
- 23. 如何检查LS版本
- 24. 在.bat上检查注册表值
- 25. 检查是否存在注册表项
- 26. 从注册表
- 27. 如何使用vbscript检查注册表项的权限?
- 28. 取消注册.net程序集的旧版本
- 29. 如何在.NET Core中注册IViewComponentDescriptorProvider?
- 30. 如何检查DLL文件编译的.NET Framework版本?
[This SO SO Answer](http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-packs-are-installed/199783#199783)会告诉你你需要检查哪些注册表项。 – 2010-06-27 04:44:37