MsiProcessAdvertiseScriptW 関数 (msi.h)
MsiProcessAdvertiseScript 関数は、指定した場所にアドバタイズ スクリプト ファイルを処理します。
構文
UINT MsiProcessAdvertiseScriptW(
[in] LPCWSTR szScriptFile,
[in] LPCWSTR szIconFolder,
[in] HKEY hRegData,
[in] BOOL fShortcuts,
[in] BOOL fRemoveItems
);
パラメーター
[in] szScriptFile
MsiAdvertiseProduct または MsiAdvertiseProductEx によって生成されるスクリプト ファイルへの完全パス。
[in] szIconFolder
アドバタイズされたアイコン ファイルと変換ファイルが配置されているフォルダーへの省略可能なパス。 このパラメーターが NULL の場合、アイコンファイルや変換ファイルは書き込まれなくなります。
[in] hRegData
レジストリ データを書き込むレジストリ キー。 このパラメーターが NULL の場合、インストーラーは、アドバタイズがユーザーごとかマシンごとかに基づいて、適切なキーの下にレジストリ データを書き込みます。 このパラメーターが NULL 以外の場合、スクリプトは通常の場所ではなく、指定されたレジストリ キーの下にレジストリ データを書き込みます。 この場合、アプリケーションはユーザーにアドバタイズされません。
[in] fShortcuts
ショートカットを作成する必要がある場合は TRUE。 SHGetSpecialFolderLocation によって特別なフォルダーが返された場合は、ショートカットが保持されます。
[in] fRemoveItems
指定 した項目を作成する代わりに削除する場合は TRUE。
戻り値
値 | 説明 |
---|---|
|
関数は正常に終了しました。 |
|
呼び出し元のプロセスが LocalSystem アカウントで実行されていませんでした。 |
|
「エラー コード」を参照してください。 |
初期化に関連するエラーが発生しました。 | |
|
この関数は、このプラットフォームでは使用できません。 |
解説
この関数を呼び出すプロセスは、LocalSystem アカウントで実行されている必要があります。 ユーザーごとのインストール用のアプリケーションを対象ユーザーにアドバタイズするには、この関数を呼び出すスレッドが対象ユーザーを偽装する必要があります。 この関数を呼び出すスレッドが対象ユーザーを偽装していない場合、アプリケーションは昇格された特権を持つインストールのためにすべてのユーザーにアドバタイズされます。
注意
msi.h ヘッダーは、MSIProcessAdvertiseScript をエイリアスとして定義し、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 サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。 |
対象プラットフォーム | Windows |
ヘッダー | msi.h |
Library | Msi.lib |
[DLL] | Msi.dll |