2

以前使っていた...

<?define PRODUCTVERSION="!(bind.FileVersion.MyLibrary.dll)" ?>

... インストーラーで使用するバージョン変数を定義します。初めて、Heat.exe を使用して、インストーラー (MyLibrary.dll を含む) で必要なファイル/フォルダーを Source.wxs というファイルに収集します。

インストーラーをビルドしようとすると、次のエラーが表示されます。

Unresolved bind-time variable !(bind.FileVersion.MyLibrary.dll)

PRODUCTVERSIONMyLibrary.dll の詳細を含む Source.wxs ファイルを参照できないと宣言されている Product.wxs ファイルのようなものですが、設定PRODUCTVERSION="1.0.0.0"するとインストーラーがビルドされ、このすべてのファイルが作成されるため、これは正しくありません。正しくインストールされています。

bind.FileVersionMyLibrary.dll を「見る」にはどうすればよいですか?

編集

Source.wxs (以下を参照) の非人間向けのファイル ID を使用すれば動作させることができますが、これが本当に最善の解決策でしょうか?

  <?define PRODUCTVERSION="!(bind.fileVersion.fil023E197261ED7268770DDE64994C4A55)" ?>
4

2 に答える 2

4

SuppressUniqueIdsに切り替えるだけではるかに簡単です。これはドキュメントtrueでも確認できます。その結果、ID には GUID ではなくファイル名が含まれます。

于 2015-08-24T08:53:02.960 に答える