任何人都可以幫我解決,如何檢測MSXML分析器是否安裝在機器上。我查找了一個註冊表項,但無法找到一個。我正在編寫一個VB.NET應用程序。 在此先感謝:)如何以編程方式檢測是否安裝了MSXML分析器(版本3+)
回答
您可以執行此操作的一種方法是在您的代碼中創建一個MSXML對象的實例。例如
Dim t As Type Dim o As Object' If this code causes an exception the object doesn't exist t = Type.GetTypeFromProgID("MSXML2.DOMDocument") o = Activator.CreateInstance(t); System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
我道歉,如果我的vb.net代碼是壞:)
感謝您的回覆。第二個選項看起來很有用,但我沒有得到如何在VB.NET應用程序中使用它。我想在後臺執行此操作。 – 2009-12-22 12:41:30
如果可能,則以MSXML 3.0爲目標。這是included in all Windows operating systems starting with Win2k SP4,所以通常不需要檢查它的存在。
無論如何,如果您使用VB.NET,請考慮使用System.Xml namespace來代替。它是.net框架的一部分,無論如何您的VB.NET應用程序都需要它。
默認情況下,Microsoft建議將MSXML6作爲首選回退(這是您已鏈接到的該博客條目中的推薦建議)。 – 2009-12-22 14:35:21
@Chris:謝謝你指出!我可以理解MS希望人們使用新的庫,但是,如果我不需要*任何MSXML6功能,我會堅持使用MSXML3,因爲(a)MSXML6沒有預先安裝在WinXP上, (b)WinXP仍然被廣泛使用,並且(c)這意味着我將不得不測試和維護兩次*代碼(MSXML6和MSXML3版本)。 – Heinzi 2009-12-22 14:45:19
有一點要注意的是,由於The use of MSXML is not supported in .NET applications裏面MSXML GC未與.net框架兼容。
- 1. 如何以編程方式檢測當前系統上是否安裝了MSMQ?
- 2. 以編程方式檢查安裝了哪個版本?
- 3. 以編程方式檢測Android上是否安裝了應用程序
- 4. 以編程方式檢測Windows Media Player是否已安裝
- 5. 如何以編程方式檢查安裝了哪個版本的WMI
- 6. 如何以編程方式檢查是否安裝了應用程序?
- 7. 以編程方式檢測是否在Firefox上安裝了插件
- 8. 如何以編程方式檢測是否是Windows 8.1更新安裝
- 9. 如何以編程方式檢查是否安裝使用Java
- 10. 如何以編程方式檢查是否安裝了SAP Business One客戶端
- 11. 如何使用JavaScript以編程方式檢查是否安裝了特定版本的Flash Player。?
- 12. 如何檢測是否安裝了System.Web.Mvc.dll?
- 13. 如何檢測是否安裝了numpy
- 14. 如何以編程方式檢測MySql連接器/ ODBC是否已安裝? (並在需要時安裝)
- 15. 如何檢測是否安裝了Jquery和Jquery UI,以及安裝了哪些版本?
- 16. 需要以編程方式檢測安裝了MS Office的哪個版本,而沒有誤報/否定
- 17. 以編程方式檢查安裝了哪個版本的.NET Compact Framework
- 18. 以編程方式確定是否安裝了Racket軟件包
- 19. 以編程方式檢測應用程序是否安裝在iPhone上
- 20. 如何以編程方式檢測html版本
- 21. 以編程方式檢查我的系統上是否安裝了Java 7(jre7)或更高版本
- 22. 檢查Stackable文件系統是否以編程方式安裝
- 23. 如何以編程方式檢查Visio是否已安裝以及在哪裏?
- 24. 如何檢查是否安裝了OpenOffice的編程方式使用C#
- 25. 以編程方式檢查是否安裝了Windows消息傳遞?
- 26. 以編程方式檢測SQL Server版
- 27. 如何以編程方式檢查應用程序是否安裝在Android中?
- 28. 如何檢測vcredist_x86.exe的特定版本是否已安裝?
- 29. 如何測試以查看計算機是否安裝了Excel(任何版本)?
- 30. 如何檢測是否安裝了JAI-ImageIo的本機庫
好的。如果我弄錯了,請糾正我。所以,你的意思是說,如果我的機器上安裝了任何版本的MSXML解析器,這段代碼將創建一個實例。如果MSXML分析器沒有安裝在我的機器上,它不會創建一個實例並會拋出異常。 – 2009-12-22 16:46:28
是的,基本上如果在這種情況下MSXML3沒有安裝,那麼你會得到一個異常。您還可以選擇不同的程序來選擇特定版本進行測試。你也可以在註冊表中查找程序(比如說HKCR \ MSXML2.DOMDocument),但這並不一定證明DLL是正確安裝的。 – tyranid 2009-12-23 14:31:20