我想檢查機器上是否安裝了.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. 檢查Windows註冊表版本c#
- 3. 如何從註冊表中檢索值?
- 4. 如何從註冊表中檢索已安裝的應用程序版本?
- 5. 如何找出其中的.NET版本註冊在IIS
- 6. Docker - 檢查私人註冊表映像版本
- 7. 如何快速檢查RMI註冊表?
- 8. 如何從內部檢查.net/mono版本.net
- 9. 如何覆蓋Django註冊版本1.0中的默認註冊表單?
- 10. 註冊表檢查CMD
- 11. 如何從Windows註冊表獲取IE版本號?
- 12. 檢查NSIS中的註冊表
- 13. 如何從Ruby中檢查RVM版本?
- 14. 如何比較WiX中的註冊表版本?
- 15. .net - 您如何註冊啓動腳本?
- 16. 如何檢查tlb文件是否使用C++在註冊表中註冊?
- 17. 如何從Windows註冊表中刪除的Python的多個版本
- 18. 如何檢查.NET DLL是否已註冊?
- 19. 如何檢查在Windows註冊的DLL?
- 20. 在註冊表中查找Chrome瀏覽器版本
- 21. 如何檢查delphi中的註冊表訪問權限?
- 22. 如何從註冊表
- 23. 如何從註冊表
- 24. 如何從Windows註冊表中獲取已安裝的informix版本
- 25. 所有版本SQL Server註冊表項
- 26. 從註冊表中讀取Oracle安裝版本
- 27. Dot Net Nuke - 如何在第5版中註冊用戶控件
- 28. Delphi通過註冊表檢測Word版本
- 29. 如何檢查無法註冊熱鍵?
- 30. 如何實時檢查Asterisk SIP註冊?
[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