次の方法で共有


MsiSourceListForceResolutionA 関数 (msi.h)

MsiSourceListForceResolution 関数は、次にソースが必要な場合に、インストーラーがソース リストで有効な製品ソースを検索するように強制します。 たとえば、インストーラーがインストールまたは再インストールを実行するとき、またはソースから実行するように設定されたコンポーネントのパスが必要な場合などです。

構文

UINT MsiSourceListForceResolutionA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szUserName,
  [in] DWORD  dwReserved
);

パラメーター

[in] szProduct

変更する製品の ProductCode

[in] szUserName

ユーザーごとのインストールのユーザー名。 ユーザー名は常に DOMAIN\USERNAME (またはローカル ユーザーの場合は MACHINENAME\USERNAME) の形式にする必要があります。

マシンごとのインストールの空の文字列または NULL

[in] dwReserved

将来の使用のために予約されています。 この値は 0 に設定する必要があります。

戻り値

MsiSourceListForceResolution 関数は、次の値を返します。

価値 意味
ERROR_ACCESS_DENIED
呼び出し元には、製品の解決を強制するための十分なアクセス権がありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_BAD_USER_NAME
指定されたユーザーが有効なユーザーではありません。
ERROR_FUNCTION_FAILED
関数を完了できませんでした。
ERROR_INSTALL_SERVICE_FAILURE
インストール サービスにアクセスできませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
関数は成功しました。
ERROR_UNKNOWN_PRODUCT
指定された製品が不明です。

備考

管理者は、任意のユーザーのマシンごとのインストール、ユーザーごとの独自の非管理インストール、およびユーザーごとの管理インストールを変更できます。 管理者以外は、マシンごとのインストールと、ユーザーごとの独自の (マネージドまたは非マネージドの) インストールのみを変更できます。

ユーザー名が空の文字列または NULL場合、関数は製品のマシンごとのインストールで動作します。 この場合、製品がユーザーごとにのみインストールされている場合、関数はERROR_UNKNOWN_PRODUCTを返します。

ユーザー名が空の文字列ではない場合、または NULL場合は、製品のインストールが変更されたユーザーの名前を指定します。 ユーザー名が現在のユーザー名の場合、この関数はまず、製品の管理されていないインストールの変更を試みます。 製品の管理されていないインストールが見つからない場合、関数は製品の管理対象ユーザーごとのインストールを変更しようとします。 製品のユーザーごとのマネージド インストールまたはアンマネージド インストールが見つからない場合、製品がマシンごとにインストールされている場合でも、この関数はERROR_UNKNOWN_PRODUCTを返します。

この関数は、現在のユーザー以外のユーザーに対して管理されていないインストールを変更することはできません。 ユーザー名が空の文字列または NULLではなく、現在のユーザーでない場合、関数は指定されたユーザーの製品のマネージド ユーザーごとのインストールのみを確認します。 指定したユーザーに対して製品がユーザーごとの管理対象としてインストールされていない場合、この関数は、製品がマシンごとにインストールされている場合でも、ERROR_UNKNOWN_PRODUCTを返します。

手記

msi.h ヘッダーは、MSISourceListForceResolution をエイリアスとして定義し、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

関連項目

インストール コンテキストの

LookupAccountName

MsiGetComponentPath

ソースの回復性 の