InstallShieldMSBuildターゲットを使用してInstallShieldプロジェクトをビルドしています。パス変数のオーバーライドに苦労してきました。私がしていることは、InstallShieldビルドによって検出されないようです。ヘルプページはあまり役に立ちませんでした...役に立ちました。
3124 次
1 に答える
7
ドキュメントで扱われていないいくつかの落とし穴があります。.isprojファイルで、パスオーバーライドをそのようにItemGroup内に配置します。アイテムには「InstallShieldPathVariableOverrides」という名前を付け、「PathVariable」要素を1つ含める必要があります。
<!-- Override Path Variables for the project -->
<ItemGroup>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer">
<PathVariable>MY_BUILD_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer\Reports">
<PathVariable>MY_REPORTS_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
</ItemGroup>
また、オーバーライドされたパスを含む子パス変数がある場合は、それらもオーバーライドする必要があります。継承は、継承されたオーバーライドを取得しません。(例を参照してください。元のパス変数はMY_REPORTS_PATHをMY_BUILD_PATH \ Reportsとして定義している可能性がありますが、明示的にオーバーライドする必要があります。)
于 2009-09-23T12:47:00.353 に答える