Page History
...
9.105 GET_PRODUCT_ATTRIBS
| Note |
|---|
注意 |
...
このBIFはインストールされた製品の属性をリストします。この戻り値の使い方および内容を理解するには、Windowsインストーラーの知識が必要です。これはインターネットなどで調べることができます。実際に以下の説明にはCヘッダー・ファイルについての記述がありますが、これにより理解を深めることができるでしょうし、ここが更に深い知識を得るための出発点になると思います。LANSAからはこの情報は提供されません。 組み込み関数の規則 &<a href="bifcat4_04.htm"&>利用オプション&</a&>
このBIFはインストールされた製品の属性をリストします。この戻り値の使い方および内容を理解するには、Windowsインストーラーの知識が必要です。これはインターネットなどで調べることができます。実際に以下の説明にはCヘッダー・ファイルについての記述がありますが、これにより理解を深めることができるでしょうし、ここが更に深い知識を得るための出発点になると思います。LANSAからはこの情報は提供されません。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 任意 | アップグレード・コード (UPCDセッション値の省略値) は、ハイフンで区切られた38バイトまでの値で { } |
で囲まれていなければなりません。 例えば、{7121782D-DD4E-4E53-A83E-DFFE86AE6995} となります。 | 38 | 38 |
...
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 戻りコード: OK – |
アップグレード・コード有り NR – |
アップグレード・コード不明 VE – |
認証エラー不正なリスト形式。例えば、カラムが足りない場合や誤ったカラム・タイプなどです。 OV – |
リスト・サイズより大きな属性。残りの属性を得るためには、リストを拡大します。 ER – エラー。要求を完了できません。 | 2 | 2 |
2 | リスト | 必須 | 製品属性 |
戻り値がOKまたはOVの場合のみ、エントリーが含まれます。 全ての属性が戻されます。現在の文脈で無効な属性が存在する場合、属性の認証にERが設定され、属性値にはAPIエラー・コードが設定されます。エラー・コードの意味については、MsiGetProductInfoEx()のエラー・コードを参照してください。 例えば、1608はERROR_UNKNOWN_PROPERTYです。 この値はwinerror. |
hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。 |
リスト構造は柔軟性があり、次のような必須条件があるのみです。 NCHAR/NVARCHARフィールドができれば* |
LC属性であること。 フィールド1、NCHARまたはNVARCHAR =属性Id; フィールド2、NCHARまたはNVARCHAR =属性値; フィールド3、Alpha(2)=属性認証: |
値が使用不可 | 1 | 2147483647 |
3 | リスト | 任意 | パッチ属性 パッチ・リストが提供される場合、パッチ属性がリストされます。 |
戻り値がOKまたはOVの場合のみ値が含まれます。 |
全ての属性が戻されます。現在の文脈で属性が無効な場合、属性の認証にERが設定されます。属性値にはAPIエラー・コードが設定されます。 |
詳細はMsiGetPatchInfoEx () |
エラー・コードを参照してください。 例: -1608 はERROR_UNKNOWN_ |
PROPERTYです。 |
hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。 |
リスト構造は柔軟性があり、次のような必須条件があるのみです。 NCHAR/NVARCHARフィールドができれば* |
LC属性であること。 フィールド1、NCHARまたはNVARCHAR =属性Id; |
OK= 有効、ER = 値が使用不可 OV = 属性値の長さが短すぎるか長すぎる。 | 1 | 2147483647 |
...
| Note |
|---|
注意: この組み込み関数はアップグレード・コードに関連付けられた全ての製品をリストします。現在のWindowsインストーラーのドキュメントによると、1つだけのはずですが、戻された製品全てがリストされます。 システム内の全ユーザーがインストールした製品がリストされます。指定のアップグレード・コードにアクセス権がない場合もあります。 リストに属性を加えることもできますが、特定の順番にリストされることを期待しないでください。また探しているものが戻ってくると思わないようにしてください。値がリストされた場合、戻り値にERが設定され、リストから省かれることはありません。 以下の参照はCヘッダー・ファイルの定義されたwinerror.hやmsi.hの属性です。 |
製品属性
UpgradeCode - 38バイトGUID(入力値。任意のため、実際に使用された値がリストに戻される。)
アップグレード・コードに関連付けられた各製品に関して、以下が戻されます。
ProductCode- 38バイトGUID
InstallContext – 列挙型の値MSIINSTALLCONTEXT 列挙型の値MSIINSTALLCONTEXT
SID – 製品のインスタンスが存在するアカウントのセキュリティ識別子
次の値は戻された属性IDに簡単にマップできます。例えば、INSTALLPROPERTY_INSTALLEDPRODUCTNAMEは、InstalledProductNameを戻します。Cを使って値をリストすることにより、属性の意味をWebで検索できるようになります。 INSTALLPROPERTY
INSTALLPROPERTY_INSTALLEDPRODUCTNAME,
...
INSTALLPROPERTY_PACKAGENAME ,
INSTALLPROPERTY_TRANSFORMS ,
INSTALLPROPERTY_LANGUAGE ,
INSTALLPROPERTY_PRODUCTNAME ,
INSTALLPROPERTY_ASSIGNMENTTYPE ,
INSTALLPROPERTY_INSTANCETYPE ,
INSTALLPROPERTY_AUTHORIZED_LUA_
...
APP ,
...
INSTALLPROPERTY_PACKAGECODE ,
INSTALLPROPERTY_VERSION ,
INSTALLPROPERTY_PRODUCTICON ,
// 製品情報属性: インストール情報
...
INSTALLPROPERTY_INSTALLEDPRODUCTNAME ,
INSTALLPROPERTY_VERSIONSTRING ,
INSTALLPROPERTY_HELPLINK ,
INSTALLPROPERTY_HELPTELEPHONE ,
INSTALLPROPERTY_INSTALLLOCATION ,
INSTALLPROPERTY_INSTALLSOURCE ,
INSTALLPROPERTY_INSTALLDATE ,
INSTALLPROPERTY_PUBLISHER ,
INSTALLPROPERTY_LOCALPACKAGE ,
INSTALLPROPERTY_URLINFOABOUT ,
INSTALLPROPERTY_URLUPDATEINFO ,
INSTALLPROPERTY_VERSIONMINOR ,
INSTALLPROPERTY_VERSIONMAJOR ,
INSTALLPROPERTY_PRODUCTID ,
INSTALLPROPERTY_REGCOMPANY ,
INSTALLPROPERTY_REGOWNER ,
INSTALLPROPERTY_INSTALLEDLANGUAGE ,
INSTALLPROPERTY_PRODUCTSTATE ,
INSTALLPROPERTY_LASTUSEDSOURCE ,
INSTALLPROPERTY_LASTUSEDTYPE ,
INSTALLPROPERTY_MEDIAPACKAGEPATH ,
INSTALLPROPERTY_DISKPROMPT,
例えば、以下にサンプル製品に戻された属性のリストがあります。属性値のフィールド長は30だけですので、多くの属性(例えばUpgradeCode,)のステータスがOVとなります。LANSAでは、標準でこの値を切り捨てるようになっています。
パッチ属性
各属性のリストはパッチ・コードから始まります。パッチ・コードのエントリーが繰り返されると、そこが別のパッチの開始となります。製品によってはパッチが多く(例えばMicrosoft Windows製品など)、動的リストの使用が推奨されています。
PatchCode – 38 byte GUID
...
INSTALLPROPERTY_LOCALPACKAGE,
...
INSTALLPROPERTY_PATCHTYPE,
...
INSTALLPROPERTY_TRANSFORMS,
INSTALLPROPERTY_INSTALLDATE,
INSTALLPROPERTY_UNINSTALLABLE,
...
INSTALLPROPERTY_PATCHSTATE,
INSTALLPROPERTY_LUAENABLED,
INSTALLPROPERTY_DISPLAYNAME,
INSTALLPROPERTY_MOREINFOURL
