vb6 xcopyの展開
-
06-07-2019 - |
質問
Regfree COMを使用するためにvb6(COM dllのocxとexe)であるレガシーアプリケーションを変換する方法を教えてください。
Visual Studioでdllを開いてマニフェストファイルを作成しようとしましたが、dllの一部でエラーが発生しています。
このプロセスを行うのに役立つツールはありますか?
マニフェストを完全に作成していないregsvr42というコードプロジェクトのツールを試しました。
すべてのtypelib情報を取得するPEエクスプローラーなどのツールを使用しましたが、それらをマニフェストファイルに変換するのは非常に困難です。
.NETへの移行を開始しました。数か月間、それを展開する必要があります。xcopyベースの展開の方が簡単です。
解決
マニフェストファイルを作成するには、 http://mmm4vb6.atom5.com/ <からMake My Manifestを使用してみてください。 / a>。
編集 MMM Webサイトがダウンしています。著者が問題を抱えていたこちらホスティングで、Make My Manifestを取得する別の場所を提供しています-ここからダウンロード。
オブジェクトの作成を制御できる場合は、 http://www.thecommon.netからDirectCOMを使用できます。 /10.html
使用されているDLLまたはOCXのいずれかがCreateObject呼び出しで他のCOMオブジェクトを動的に作成している場合、その参照はvbpプロジェクトファイルに保存されず、完全なマニフェストファイルを取得できないことに注意してください。おそらく、アプリケーションの実行中にオブジェクトの作成をキャッチする必要があります。 Depends.exeアプリケーションは、実行中のアプリケーションのプロファイルを作成し、使用されているすべてのdllを報告できます。追加のCOM関連情報を検索できるツールがあるかどうかはわかりません。
他のヒント
MSDNのこの記事で行うべきことの優れたチュートリアルがあります: COMコンポーネントの登録不要のアクティベーション:ウォークスルー。
Make My Manifestは、事前バインディングだけでなく遅延バインディングにも対応できます。ファイルの場所またはProgIdによって、手動で遅延バインドされた依存関係への参照を追加する必要があります。
http://mmm4vb6.atom5.com/mmm-demoをご覧ください。 -1248.html を使用して、ユーティリティの使用に関する追加のヘルプを参照してください。
MakeMyManifest は、VB6プロジェクトのマニフェストを作成するための自動ツールとしてよく言われています。それ自身。 DirectCOM にもファンがいます。これも試していません。
編集 MMM Webサイトがダウンしています。著者が問題を抱えていたこちらホスティングで、Make My Manifestを取得する別の場所を提供しています-ここからダウンロード。
半自動の手法があります。 Visual Studio 2008でマニフェストを作成できます(Visual Basic Express Editionなどの無料版を使用できます)。次に、手作業でいくつかの編集を行い、マニフェストをVB6からの使用に適したものにします。このMSDN記事のこのセクションを参照してください。詳細な手順については、ClickOnceに関する記事の残りの部分を無視してください。