2013-02-22 75 views
1

我們有某些.NET 1.1應用程序正在使用基於MSXML DOCM的JavaScript調用(即FreeThreadedDOM,XMLHTTP,XSLT)來自MSXML4.dll。當我們使用IE9在新的Windows 7計算機上訪問這些應用程序時,javascript在下面的每行中都出現「自動服務器無法創建對象」的錯誤。我應該升級還是從我的WIN7 IE9機器上的MSXML4降級

var _xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0"); 
var _freeThreadedDOM = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0"); 
var _xsltTest = new ActiveXObject("Msxml2.XSLTemplate.4.0"); 
var _domTest = new ActiveXObject("Msxml2.DOMDocument.4.0"); 

所以我們發現,IE9 ActiveX設置只有MXSML3和MSXML6可用的API,因爲這是微軟推薦什麼(3,因爲它的廣泛和高度的支持和6,因爲它是最無缺陷和輕量級MSXML DLL) 。

現在,我們正面臨着一個兩難境地,我們應該降級到3或升級到6

我想知道,如果有人有一個想法,如果它是安全的執行MSXML升級或降級,是否有任何影響就MSXML3或6提供的功能而言,如XPATH解析,XML中的特殊字符,XSLT轉換,JavaScript中的ASYCN HTTP等。與MSXML4有很大區別嗎?

任何投入都可以賺取upvotes! :-)

+0

你檢查了這個:http://stackoverflow.com/questions/5157183/activex-automation-server-cant-create-object – koopajah 2013-02-22 10:10:02

回答

2

我在不同的(VBA)解決方案中使用MSXML,最近面臨同樣的問題。我們的IT部門開始從一些機器上清除MSXML4 ......不知道他們的流程的哪一部分正在清除它,但這不是問題。

因爲我決定升級到MSXML6。

  • 這是和IT控制的環境和自己的新形象具有MSXML6
  • 我不打算支持以任何方式
  • 我沒有代碼依賴於舊的(現在不支持)功能配置較老
  • MSXML6已經安裝在現有的設備上
  • MSXML6更符合的,以最後的XML規範
  • MSXML6還擁有原生64位環境
  • 支持

除非您需要重構代碼庫的太大部分內容(因爲您使用的是舊功能),否則我不會看到降級而不升級的許多原因。

我不能絕對地說,如果它是安全的,但我會說這是值得嘗試的。

此致敬意和愉快的遷移。 Raymond

相關問題