2008-11-06 43 views
4

任何人都可以告訴我如何轉換遺留應用程序是vb6(COM dll的ocx和exes)以使用Regfree COM。vb6 xcopy部署

我試圖在Visual Studio中打開dll並創建了清單文件,但是其中一些dll出現錯誤。

有什麼工具可以幫助我做這個過程嗎?

我嘗試了一個名爲regsvr42的codeproject工具,它並未完全創建清單。

我使用了像PE Explorer這樣的工具,可以獲取所有typelib信息,但將它們轉換爲清單文件太困難了。

我們已經開始將它遷移到.NET,幾個月我們必須部署它,如果它是基於xcopy的部署,它會更容易。

回答

4

要創建清單文件,您可以嘗試從http://mmm4vb6.atom5.com/使用Make My Manifest。

編輯 MMM網站已關閉。我看到here,作者與他們的託管有問題,並提供了另一個位置讓我的清單 - download it here

如果你能控制對象的創作,你可以使用DirectCOM從http://www.thecommon.net/10.html

請記住,如果使用的DLL或OCX控件中的一個與創建對象的調用動態創建其他COM對象,參考不會被存儲在VBP項目文件,你不會得到完整的清單文件。在應用程序運行時,您可能需要捕獲對象創建。 Depends.exe應用程序可以剖析正在運行的應用程序並報告所有使用的dll。我不知道是否有工具可以找到其他COM相關信息。

0

使我的清單可以適應晚期綁定以及早期綁定。您只需手動添加對後期綁定依賴項的引用,方法是按文件位置或通過ProgId。

您可以查看http://mmm4vb6.atom5.com/mmm-demo-1248.html以獲取使用該實用程序的其他幫助。

0

MakeMyManifest作爲創建VB6項目清單的自動工具,我自己並沒有嘗試過。 DirectCOM也有粉絲,再次我沒有嘗試過。

編輯 MMM網站已關閉。我看到here,作者與他們的託管有問題,並提供了另一個位置讓我的清單 - download it here

有一種半自動技術。您可以使用Visual Studio 2008創建清單(可以使用免費版本,如Visual Basic Express Edition)。然後手動進行一些編輯,使清單適合在VB6中使用。有關分步說明,請參閱本MSDN文章的this section - 忽略有關ClickOnce的文章的其餘部分。