次の方法で共有


MsiAdvertiseProductExA 関数 (msi.h)

MsiAdvertiseProductEx 関数は、アドバタイズ スクリプトを生成するか、コンピューターに製品をアドバタイズします。 この関数を使用すると、Windows インストーラーは、製品の割り当てまたは発行に使用されるレジストリとショートカット情報をスクリプトに書き込みます。 スクリプトは、MsiAdvertiseProductExを使用して、指定されたプラットフォームと一貫性を持つよう記述できます。 MsiAdvertiseProductEx 関数は、MsiAdvertiseProductと同じ機能を提供します。

構文

UINT MsiAdvertiseProductExA(
  [in] LPCSTR szPackagePath,
  [in] LPCSTR szScriptfilePath,
  [in] LPCSTR szTransforms,
  [in] LANGID lgidLanguage,
  [in] DWORD  dwPlatform,
  [in] DWORD  dwOptions
);

パラメーター

[in] szPackagePath

アドバタイズされる製品のパッケージへの完全なパス。

[in] szScriptfilePath

アドバタイズされた情報を使用して作成されるスクリプト ファイルへの完全なパス。 製品をコンピューターにローカルにアドバタイズするには、ADVERTISEFLAGS_MACHINEASSIGNまたはADVERTISEFLAGS_USERASSIGNを設定します。

意味
ADVERTISEFLAGS_MACHINEASSIGN
0
すべてのユーザーが利用できる製品のコンピューターごとのインストールをアドバタイズするように設定します。
ADVERTISEFLAGS_USERASSIGN
1
特定のユーザーが使用できる製品のユーザーごとのインストールをアドバタイズするように設定します。

[in] szTransforms

適用する変換のセミコロンで区切られたリスト。 変換の一覧の先頭に @または | を付けることができます。文字を使用して、変換のセキュリティで保護されたキャッシュを指定します。 @ プレフィックスは、ソースでセキュリティで保護された変換と | を指定します。プレフィックスは、セキュリティで保護された完全なパス変換を示します。 詳細については、「セキュリティで保護された変換を する」を参照してください。 このパラメーターは null である可能性があります。

[in] lgidLanguage

ソースが複数の言語をサポートしている場合に使用する言語。

[in] dwPlatform

インストーラーがスクリプトを作成するプラットフォームを制御するビット フラグ。 szScriptfilePath が null の場合、このパラメーターは無視されます。 dwPlatform ゼロ (0) の場合、スクリプトは現在のプラットフォームに基づいて作成されます。 これは、MsiAdvertiseProductと同じ機能です。 dwPlatform が 1 または 2 の場合、インストーラーは指定されたプラットフォームのスクリプトを作成します。

意味
しない
0
現在のプラットフォームのスクリプトを作成します。
MSIARCHITECTUREFLAGS_X86
1
x86 プラットフォーム用のスクリプトを作成します。
MSIARCHITECTUREFLAGS_IA64
2
Itanium ベースのシステム用のスクリプトを作成します。
MSIARCHITECTUREFLAGS_AMD64
4
x64 プラットフォーム用のスクリプトを作成します。

[in] dwOptions

追加の提供情報オプションを指定するビット フラグ。 0 以外の値は、Windows Server 2003 および WINDOWS XP SP1 以降に付属している Windows インストーラー バージョンでのみ使用できます。

意味
MSIADVERTISEOPTIONS_INSTANCE
1
製品コード変更変換サポート フラグを介した複数のインスタンス。 製品の新しいインスタンスをアドバタイズします。 szTransforms パラメーターに、製品コードを変更するインスタンス変換が含まれている必要があります。 詳細については、「製品とパッチの複数のインスタンスをインストールする」を参照してください。

戻り値

価値 意味
ERROR_SUCCESS
関数は正常に完了します。
アクション に関連するエラー
詳細については、「エラー コードの」を参照してください。
初期化エラーの
初期化エラーが発生しました。
ERROR_CALL_NOT_IMPLEMENTED
このエラーは、Windows 2000 または Windows XP 以外のプラットフォームでアドバタイズ スクリプトを生成しようとした場合に返されます。 ローカル コンピューターへの提供情報は、すべてのプラットフォームでサポートされています。

備考

製品コードを使用した複数のインスタンスの変換の変更は、Windows Server 2003 および WINDOWS XP SP1 以降に付属する Windows インストーラー バージョンでのみ使用できます。

手記

msi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MsiAdvertiseProductEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP 上の Windows インストーラー。 Windows インストーラーのバージョンで必要な最小 Windows Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msi.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

Multiple-Package インストール

Windows インストーラー 2.0 以前の ではサポートされていません