我又寫道COM對象 的DLL我註冊它 我在哪裏可以現在發現這個DLL在我的機器 (當我們註冊的dll到了nachine複製DLL),如果我嘗試使用在哪裏可以找到COM DLL?
多的問題這個COM對象在PowerShell中一切都很順利 如果我嘗試在javaScript中使用它,我會得到異常 任何想法?爲什麼??
我又寫道COM對象 的DLL我註冊它 我在哪裏可以現在發現這個DLL在我的機器 (當我們註冊的dll到了nachine複製DLL),如果我嘗試使用在哪裏可以找到COM DLL?
多的問題這個COM對象在PowerShell中一切都很順利 如果我嘗試在javaScript中使用它,我會得到異常 任何想法?爲什麼??
註冊COM DLL不會複製該DLL。它只是添加COM用來查找您的DLL的註冊表項。例如,爲每個類添加一個鍵「HKEY_CLASSES_ROOT \ CLSID {您的類ID}」。很多時候,DLL的路徑作爲默認值存儲在諸如「InprocServer32」的子項中(實際名稱取決於您的類如何配置爲激活)。因爲JavaScript是建立出於安全原因,一個孤立的環境中執行
JavaScript不能訪問COM對象,甚至本地文件對於這個問題,。
正如理查德沃爾特斯所說,註冊COM對象不會將其複製到任何地方。通常我懶惰,而不是在REGEDIT中查找長GUID,我使用查找功能搜索DLL的名稱。
既然你提到了PowerShell,我可以假設你正在嘗試在Windows Script Host中使用Javascript嗎?如果是這樣,知道什麼是例外可能會有所幫助。如何做到這一點的例子:
var xml = new ActiveXObject(「Microsoft.XMLDOM」);
xml.load(「foo.xml」);
當然用來自COM對象的信息替換Microsoft.XMLDOM。
等效PowerShell的將是:
$ XML =新物體-ComObject Microsoft.XMLDOM
$ xml.load( 「foo.xml」)