4

.Net COM アセンブリを使用する Powerbuilder 10 アプリケーションがあります。マニフェストを PB アプリケーションに埋め込もうとしています (登録せずに COM アセンブリを呼び出すため)。マージされたマニフェスト ファイルには、.Net COM アセンブリへの依存関係のセクションが追加されています。新しいマニフェストを挿入するためにさまざまなツールを試しましたが、異なる結果が得られました。GenMan32 を使用して挿入すると、アプリケーションが 6MB から 45KB に切り捨てられます。- ResourceTuner を使用すると、ファイル サイズは問題ないように見えますが、アプリケーションを起動しようとすると、「Fatal Disk Error」が表示されます。

登録なしで PB から呼び出された .Net ComEnabled アセンブリに関する提案はありますか?

4

2 に答える 2

2

外部マニフェストで試してみて、動作することを確認しましたか? 外部マニフェストが機能しない場合は、マニフェスト情報が正しくありません。

有効な外部マニフェストを取得したら、.Net SDK からマニフェスト ツール (MT.EXE) を試すことができます。真のEXEファイルでうまく機能します。ただし、Terry が指摘したように、PB によって生成された実行可能ファイルには、EXE を操作するツールが尊重する必要がある追加情報が含まれています。

http://blogs.msdn.com/patricka/archive/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions.aspx

于 2010-03-29T00:41:44.697 に答える
1

これは答えというよりもリダイレクトです。注意すべきことの 1 つは、PowerBuilder が生成する実行可能ファイルは、Windows 実行可能ファイルの標準に準拠していないということです。基本的に、これらは PowerBuilder 仮想マシンをロードするためのブートストラップ ルーチンと、クラス定義 (オブジェクト) のコレクションです。あなたが提起したケースは、実行可能ファイルを変更するためのユーティリティが PowerBuilder 実行可能ファイルで機能しないということを私が聞いた最初のケ​​ースではありません。

従うべき他の方向性に関する積極的な貢献については、私は適切なアドバイスを与えるのに十分な知識がありません. 私だったら、ConnectToNewObject() が失敗した場合に COM オブジェクトを登録しようとしますが、それが可能かどうか、またはそのルートが行き止まりであるかどうかはわかりません。

幸運を、

テリー。

于 2010-03-28T18:41:55.020 に答える