4

vb6 (COM dll の ocx および exe) であるレガシー アプリケーションを Regfree COM を使用するように変換する方法を教えてください。

Visual Studio で dll を開いてマニフェスト ファイルを作成しようとしましたが、いくつかの dll でエラーが発生しています。

このプロセスを実行するのに役立つツールはありますか?

マニフェストを完全に作成していない regsvr42 と呼ばれる codeproject のツールを試しました。

すべての typelib 情報を取得する PE エクスプローラーなどのツールを使用しましたが、それらをマニフェスト ファイルに変換するのは難しすぎます。

それを .NET に移行し始めました。数か月間、展開する必要があります。xcopy ベースの展開であれば、より簡単になります。

4

4 に答える 4

4

マニフェスト ファイルを作成するには、 http://mmm4vb6.atom5.com/から Make My Manifest を使用してみてください。

編集MMM Web サイトがダウンしています。ここで、作成者がホスティングに問題を抱えていて、Make My Manifest を入手できる別の場所を提供していることがわかります。ここからダウンロードしてください

オブジェクトの作成を制御できる場合は、http: //www.thecommon.net/10.html から DirectCOM を使用できます。

使用されている DLL または OCX の 1 つが CreateObject 呼び出しで他の COM オブジェクトを動的に作成している場合、その参照は vbp プロジェクト ファイルに格納されず、完全なマニフェスト ファイルを取得できないことに注意してください。おそらく、アプリケーションの実行中にオブジェクトの作成をキャッチする必要があります。Depends.exe アプリケーションは、実行中のアプリケーションをプロファイリングし、使用されているすべての dll を報告できます。COM 関連の追加情報を検索できるツールがあるかどうかはわかりません。

于 2008-11-13T14:03:03.693 に答える
1

MSDN のこの記事には、何をすべきかについての優れたチュートリアルがあります: COM コンポーネントの登録不要のアクティブ化: ウォークスルー

于 2008-11-25T18:35:08.273 に答える
0

Make My Manifestは、遅延バインディングと早期バインディングに対応できます。手動で、ファイルの場所によって、またはProgIdによって、遅延バインドされた依存関係への参照を追加する必要があります。

ユーティリティの使用に関する追加のヘルプについては、http://mmm4vb6.atom5.com/mmm-demo-1248.htmlを参照してください。

于 2008-11-13T17:36:23.467 に答える