3

ソース コードを再構築せずに、既存のバイナリのバージョン番号を設定する方法を知りたいです。

4

2 に答える 2

2

reshacker.exeを使用すると、dll 内のリソースを完全に置き換えることができversioninfoます。(たとえば、これを使用して、matlab コンパイラ ツールボックスによって生成された dll のバージョンを設定します。これは、mcc で処理する方法を理解しようとするよりもはるかに簡単です)。アセンブリに対して同じ原則を試してみたところ、同じように機能し、バージョン情報がエクスプローラーに適切に表示され、アプリケーションも引き続き機能します。

GUI経由で行うこともできますが、ビルドスクリプトから使用する方法は次のとおりです。rc.exe最初に、完全な VERSIONINFO リソースを含む.res ファイルが出力されていることを確認します(このような rc ファイルがどのように見えるかの例については、こちらを参照してください)。次に、以下を含む ini ファイルを作成します。

[FILENAMES]
Exe=path/to/dll
SaveAs=path/to/dll
log=res.log
[COMMANDS]
-delete versioninfo, 1,
-addoverwrite path/to/dll/version.res, versioninfo, 1,

そして走る

reshacker -script patho/to/script

そして、path/to/dll のバージョン情報を path/to/dll/version.res からの情報に置き換えます。res.log をチェックして、何か問題があるかどうかを確認します。

于 2013-08-14T13:21:27.853 に答える