我們使用清單文件來做免註冊COM,正如我在this other question中詳細闡述的那樣。如何在插件架構中免註冊COM
現在我們嘗試使用免註冊COM與支持插件的應用程序。插件是OCX文件,可在主應用程序已安裝後添加到主應用程序的文件夾中。
但是,這意味着主應用程序的清單文件需要由插件安裝程序進行修補。這似乎是一個危險且容易出錯的事情,特別是如果可以安裝多個插件的話。
有沒有辦法以某種方式拆分主應用程序的清單文件,以便每個插件可以安全地將它自己的部分添加爲單獨的文件?或者另一種安全的方式來修補清單文件?
如果相關:我們使用wix創建我們的安裝程序。
+1有趣!看起來我有一些閱讀要做。 – 2009-12-01 11:26:13
謝謝你,尤金。你知道任何使用至少一種解決方案的示例代碼嗎?謝謝。 – 2011-06-17 00:02:36
我實際上是通過遵循這裏的指南得到這個工作的: http://www.mazecomputer.com/sxs/help/sxsapi3.htm 還有來自vvvsample的示例代碼: http://msf.codeplex.com /但我必須將COM DLL複製到與我試圖避免的exe相同的目錄中。 我目前正在將外部清單的完整路徑和測試目錄的完整路徑傳遞給CActCtxHandle.Create()(例如,分別爲「C:\ Rel \ MyCppTests.dll.manifest」和「C:\ Rel」 )。 COM DLL也駐留在「C:\ Rel」中,但exe駐留在不同的目錄中(例如「C:\ TestRunner」)。 任何想法? – 2011-06-17 04:53:53