InstallShield MSI インストールの典型的な「アップグレード テーブル」には、「任意のバージョンから現在へのアップグレード」と「現在から任意のバージョンへのダウングレード」の 2 つのレコードが含まれます。これには、メジャー、マイナー、またはビルド番号が変更されるたびに「現在のバージョン」番号を手動でコピーして貼り付ける必要があり、あまり良くありません。
現在、.ism プロジェクト ファイルを解析し、ビルド前にアップグレード テーブルのバージョン番号を置き換えるスクリプトを使用しています。しかし、これは汚いハックです。アップグレード テーブルで "ProductVersion" MSI プロパティを使用できるので、製品バージョンはこのプロパティにのみ格納されるのでしょうか? [ProductVersion]
このプロパティ名をやなどの複数の方法で入力しようとしまし##ProductVersion##
たが、何も役に立ちません。プロパティ値に置き換えられず、結果の MSI には「1.30.1264」プロパティ値ではなく「##ProductVersion##」テキストが含まれます。