MsiAdvertiseScriptA 関数 (msi.h)
MsiAdvertiseScript 関数は、アドバタイズされたスクリプト ファイルを指定した場所にコピーします。
構文
UINT MsiAdvertiseScriptA(
[in] LPCSTR szScriptFile,
[in] DWORD dwFlags,
[in] PHKEY phRegData,
[in] BOOL fRemoveItems
);
パラメーター
[in] szScriptFile
MsiAdvertiseProduct または MsiAdvertiseProductExによって生成されたスクリプト ファイルへの完全なパス。
[in] dwFlags
SCRIPTFLAGS 制御アドバタイズからの次のビット フラグ。 dwFlags の値は、次の値の組み合わせにすることができます。
[in] phRegData
レジストリ データに関する一時的な情報を書き込むレジストリ キー。 このパラメーターが null の場合、公開通知がユーザーごとかマシンごとかに基づいて、レジストリ データが適切なキーの下に配置されます。 このパラメーターが null 以外の場合、スクリプトは、通常の場所ではなく、指定されたレジストリ キーの下にレジストリ データを書き込みます。 この場合、アプリケーションはユーザーにアドバタイズされません。
このレジストリ キーは、通常、レジストリ キーのプロバイダーによってキーが削除されるため、ユーザーまたはコンピューターの製品の提供情報を生成するときに使用できないことに注意してください。 レジストリ キーは、シェル、クラス、および .msi 構成情報の通常のレジストリの場所の外部にあり、HKEY_CLASSES_ROOTの下にありません。 このレジストリ キーは、スクリプト内のレジストリ データに関する一時的な情報を取得することのみを目的としています。
[in] fRemoveItems
指定した項目を作成する代わりに削除する場合は TRUE。
戻り値
価値 | 意味 |
---|---|
|
関数は正常に完了しました。 |
|
呼び出し元のプロセスが LocalSystem アカウントで実行されていませんでした。 |
|
エラー コード |
初期化に関連するエラーが発生しました。 | |
|
この関数は、Windows 2000 および Windows XP でのみ使用できます。 |
備考
この関数を呼び出すプロセスは、LocalSystem アカウントで実行されている必要があります。 ユーザーごとのインストール用にアプリケーションをターゲット ユーザーにアドバタイズするには、この関数を呼び出すスレッドが対象ユーザーを偽装する必要があります。 この関数を呼び出すスレッドが対象ユーザーの権限を借用していない場合、アプリケーションはすべてのユーザーに昇格された特権を持つインストール用にアドバタイズされます。
手記
msi.h ヘッダーは、MSIAdvertiseScript をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | 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 |