我想提取從VB6應用程序的COM數據,所以我可以(根據Microsoft最佳實踐)正確地註冊它的應用程序。我使用的是WiX 3.0,並且heat.exe不會提取數據(已知問題),並且我無法訪問關聯的TLB文件。 VB6應用程序沒有啓用兼容性,因此它在每次構建時重新生成COM GUID(他們希望應用程序能夠與舊版本並排運行)。
我創建了一個C#應用程序,它將收集TypeLib,來自VB6應用程序的接口和CoClass信息,而無需註冊它,並創建一個供蠟燭使用的wxs文件。我的公司還有其他幾個較老的應用程序,我想讓它成爲更通用的解決方案。
的問題:
1.Is有沒有辦法從出項目或TLB文件,而無需註冊它的應用程序收集的「真實」的ProgID(程序員希望的一)?
2.是否有一種方法可以從DLL中找出預期的線程模型而無需註冊它? (我打算它可以處理所有的COM活動項目,不妨完成) 謝謝。
與Visual Studio捆綁在一起的OLE-COM對象查看器可以做到這一點,所以它絕對有可能。很好的問題! + 1 – ParmesanCodice 2010-05-05 07:44:49
這通常通過設置註冊表重定向和調用自注冊來完成。 COM組件沒有被註冊,我不知道這是否滿足「不註冊它」這個問題的一部分。我正在使用一個已調整版本的tallow:http://www.unicontsoft.com/upload/tallow/ – wqw 2010-05-05 20:57:36
我的目的是查看是否已經不在調用註冊表。我會閱讀重定向謝謝。 – mangelo 2010-05-06 03:37:04