secretbase.log

.NET/C#/Pythonなど

Windows インストーラー: Versionに設定できる数字の範囲

WIndowsインストーラーのバージョン

プログラムのアンインストールまたは変更で、インストールしたプログラムのバージョンを表示することができます。 下記は、 1.0.0.0 と設定しているプログラムの例です。

f:id:cointoss1973:20170301135609p:plain

WiXでは、下記 Product Element の Version で定義します。

 <Product Id="{AAEE70F7-54D1-46C4-B351-A7FFADD67405}"
           Name="Acme FunctionSample"
           Language="1033" Version="1.0.0.0" Manufacturer="Acme Ltd."
           UpgradeCode="d3ade0eb-6e9a-4cb5-bd00-4282ef774434">

インストーラーのバージョン番号の範囲

           Version="1.400.0.0"

ここで、1.400.0.0 を設定してみました。

しかし、Candle でエラー error CNDL0242 になります。

error CNDL0242: Invalid product version ‘1.400.0.0’. Product version must have a major version less than 256, a minor version less than 256, and a build version less than 65536.

  • メジャー番号と、マイナーバージョンは、 256 より小さい数字
  • またビルド番号は、 65536 より小さい数字

でないとダメとのことです。

調べたところ、これは、Windowsインストーラーの仕様のようです。

ProductVersion property (Windows)

しかし、アセンブリバージョンでは、 65536まで設定できるので、同じ番号をつけたかったのですが、しかたないですね(´・ω・`)