我已經成功地使用C++和C#使用清單文件(即早期綁定)來使用免註冊COM。我現在試圖使用後期綁定來實現這個功能。經過大量網絡搜索,我發現的技術似乎是使用「Microsoft.Windows.ActCtx」。Reg-Free COM「Microsoft.Windows.ActCtx」是否支持腳本 - 後期綁定?
我用來測試這個的一個例子是MS的「基於COM的組件的免註冊激活」,在http://msdn.microsoft.com/en-us/library/ms973913.aspx上找到以生成SideBySide示例。然後我嘗試使用腳本語言;然而,VBScript和Python都以相同的方式失敗(也嘗試過VBA)。
Set actctx = CreateObject("Microsoft.Windows.ActCtx")
actctx.manifest = "C:\test\client.exe.manifest"
Set SBSObj = actctx.CreateObject("SideBySide.SideBySideClass")
wscript.echo SBSObj.Version
使用像Sysinternals的‘過程監控’你可以看到,運行以下命令(Windows 7的64位):VBScript的例子如下
C:\Windows\SysWOW64\cscript.exe //Nologo C:\test\VBRegFreeTest.vbs
出現通過加載工作體現並嘗試開始尋找等效的註冊表調用,但無法找到它們。所以它似乎部分工作。我還將wScript.exe複製到本地目錄以排除運行應用程序和清單文件的目錄問題。
我讀過Microsoft.Windows.ActCtx on Windows Xp,並在清單中包含了「prodID」,但仍然失敗。清單文件在C++和C#示例中正常工作。
我不禁感覺到「Microsoft.Windows.ActCtx」有問題。這方面的文件非常有限。非常感謝在Python或VBScript中使用清單文件的任何幫助。我很想知道是否有人有「Microsoft.Windows.ActCtx」的工作。