Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/get_product_attribs.htm]
現在地:

...

9.105 GET_PRODUCT_ATTRIBS

Note

注意

...

 9.1

...

組み込み関数の規則     利用オプション

この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の場合のみ、エントリーが含まれます。

戻り値がOKまたはOVの場合のみ、エントリーが含まれます。 

全ての属性が戻されます。現在の文脈で無効な属性が存在する場合、属性の認証にERが設定され、属性値にはAPIエラー・コードが設定されます。エラー・コードの意味については、MsiGetProductInfoEx()のエラー・コードを参照してください。

例えば、1608はERROR_UNKNOWN_PROPERTYです。 この値はwinerror.

hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。

hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。 

リスト構造は柔軟性があり、次のような必須条件があるのみです。

リスト構造は柔軟性があり、次のような必須条件があるのみです。 

NCHAR/NVARCHARフィールドができれば*

LC属性であること。

LC属性であること。 

フィールド1、NCHARまたはNVARCHAR =属性Id; 

フィールド2、NCHARまたはNVARCHAR =属性値; 

フィールド3、Alpha(2)=属性認証: 
OK、ER =

値が使用不可

値が使用不可 
OV = 属性値の長さが短すぎるか長すぎる。

1

2147483647

 

 



3

リスト

任意

パッチ属性

パッチ・リストが提供される場合、パッチ属性がリストされます。

パッチ・リストが提供される場合、パッチ属性がリストされます。 

戻り値がOKまたはOVの場合のみ値が含まれます。 

戻り値がOKまたはOVの場合のみ値が含まれます。

全ての属性が戻されます。現在の文脈で属性が無効な場合、属性の認証にERが設定されます。属性値にはAPIエラー・コードが設定されます。

全ての属性が戻されます。現在の文脈で属性が無効な場合、属性の認証にERが設定されます。属性値にはAPIエラー・コードが設定されます。詳細はMsiGetPatchInfoEx

詳細はMsiGetPatchInfoEx ()

エラー・コードを参照してください。 例:

エラー・コードを参照してください。 

例: -1608 はERROR_UNKNOWN_

PROPERTYです。

PROPERTYです。 
この値はwinerror.

hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。

hで調べることができます。これらのエラー・コードは全て負の値になっていることに注意してください。負の記号を取り除いてから、その内容を検索します。 

リスト構造は柔軟性があり、次のような必須条件があるのみです。

リスト構造は柔軟性があり、次のような必須条件があるのみです。 

NCHAR/NVARCHARフィールドができれば*

LC属性であること。

LC属性であること。 

フィールド1、NCHARまたはNVARCHAR =属性Id;
フィールド2、NCHARまたはNVARCHAR =属性値;
フィールド3、Alpha(2)=属性認証:

OK、ER

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,


 
    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では、標準でこの値を切り捨てるようになっています。 Image Removed

Image Added

パッチ属性

各属性のリストはパッチ・コードから始まります。パッチ・コードのエントリーが繰り返されると、そこが別のパッチの開始となります。製品によってはパッチが多く(例えばMicrosoft Windows製品など)、動的リストの使用が推奨されています。

     PatchCode  38 byte GUID

...

        INSTALLPROPERTY_LOCALPACKAGE,

...

        INSTALLPROPERTY_PATCHTYPE,

...

        INSTALLPROPERTY_TRANSFORMS,
   INSTALLPROPERTY_INSTALLDATE,
   INSTALLPROPERTY_UNINSTALLABLE,

...

        INSTALLPROPERTY_PATCHSTATE,
   INSTALLPROPERTY_LUAENABLED,
   INSTALLPROPERTY_DISPLAYNAME,
   INSTALLPROPERTY_MOREINFOURL

...