InstallShield

01264 : Windows Installer プロパティを使用した条件の設定

Windows Installer プロパティを使用した条件の設定例を紹介します。
Windows Installer プロパティは、インストールの実行条件やカスタムアクションの実行条件などに使用できます。


以下では、使用頻度の高いプロパティと使用例を紹介します。


実行環境の OS を条件にする

例)Windows XP かどうかを判定する場合
VersionNT = 501

例)Windows Vista かどうかを判定する場合
(VersionNT = 600) AND (MsiNTProductType =1)

例)Windows 7 かどうかを判定する場合
(VersionNT = 601) AND (MsiNTProductType =1)

例)Windows Server 2008 R2 かどうかを判定する場合
(VersionNT = 601) AND (MsiNTProductType <>1)

例)XP Home Edition かどうかを判定する場合
(VersionNT = 501) And (MsiNTSuitePersonal =1)

例)Windows XP Professional x64 かどうかを判定する場合
(VersionNT64 = 502) AND (MsiNTProductType = 1)

VersionNT プロパティには、OS のバージョンを格納します。
64ビットの OS 上で動作している場合のみ、VersionNT64 プロパティには、OS のバージョンを格納します。

OS VersionNT VersionNT64
Windows NT 4.0 400
Windows 2000 500
Windows XP 501 502(*)
Windows Server 2003 502 502
Windows Vista 600 600
Windows Server 2008 600 600
Windows 7 601 601
Windows Server 2008 R2 601 601
Windows 8 602 602
Windows Server 2012 602 602
Windows 8.1 603 603
Windows Server 2012 R2 603 603


*)Windows XP x64 の判定では、VersionNT64 プロパティを使用します。


MsiNTProductType プロパティには、Windows の製品タイプを格納します。

製品タイプ MsiNTProductType
WorkStation
(Windows XP Professionalなど)
1
Domain controller 2
Server 3




製品のインストール状態を条件にする

インストール状態の判別

状態 条件
初回インストール Not Installed
メンテナンス Installed

 変更のみ:Installed AND _IsMaintenance="Change"

 修復のみ:Installed AND _IsMaintenance="Reinstall"

アンインストール REMOVE="ALL" (InstallValidate アクションの後)
マイナーアップグレード IS_MINOR_UPGRADE(*)
メジャーアップグレード IS_MAJOR_UPGRADE(*)


*) IS_MINOR_UPGRADE および IS_MAJOR_UPGRADE は各アップグレード時のみ'真'に評価される
プロパティとなりますので、プロパティ名のみで条件として使用可能です。


機能の状態を条件にする

特定の機能の状態を検出して、インストール条件に設定することができます。
条件は、CostFinelize アクション以降で使用できます。

例)機能がローカルにインストールされるときだけ実行し、修復時は動作しない場合
(&FeatureName=3) AND NOT(!FeatureName=3)

例)機能が削除されるときだけ実行する場合
(&FeatureName=2) AND (!FeatureName=3)


機能の状態は、以下のような式にて判定されます。
&FeatureName=n
!FeatureName=n

FeatureName の前についている & や ! は以下のような意味を持つ接頭辞です。
& : 機能のアクション状態(機能 FeatureName が選択状態)
! : 機能のインストール状態

&FeatureName=n の n は、以下の表のような意味を持ちます。
&FeatureName=3 の場合、機能がローカルにインストールするように選択されている場合という意味になります。

値(n) 意味
-1 アクションなし(機能の状態に変更がないとき)
1 機能がアドバタイズされているとき
2 機能がインストールされていないとき(アンインストールされる)
3 機能がローカルにインストールされたとき
4 機能をソースから実行するとき




参考記事
Operating System Properties

Conditional Statement Syntax

Examples of Conditional Statement Syntax

Conditions to Determine Installation States




検索文字列:インストール条件、ターゲットシステム、OS、カスタムアクション、MSI


2008/04/28 16:04:48
2019/05/23 09:47:51