インストール シールドを使用してドライバー セットアップを作成しました。インストールして管理者として通信すると、すべて正常に動作します。
しかし、システムへのアクセスが制限されているお客様のサイトでは、ドライバーが期待どおりに通信していません。したがって、別のアカウントでこの特定のドライバーに管理者権限を付与するにはどうすればよいかを知りたいです。制限付きアカウントにすべてのアプリケーションの管理者権限を与えることは適切な方法ではないためです。
ですから、適切な方法で私を導いてください。
インストール シールドを使用してドライバー セットアップを作成しました。インストールして管理者として通信すると、すべて正常に動作します。
しかし、システムへのアクセスが制限されているお客様のサイトでは、ドライバーが期待どおりに通信していません。したがって、別のアカウントでこの特定のドライバーに管理者権限を付与するにはどうすればよいかを知りたいです。制限付きアカウントにすべてのアプリケーションの管理者権限を与えることは適切な方法ではないためです。
ですから、適切な方法で私を導いてください。
これを行う適切な方法は、昇格を要求するマニフェストをインストーラーに含めることです。具体的には、requestedExecutionLevel
をrequireAdministrator
(デフォルトの ではなくasInvoker
)に設定します。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
このようにして、昇格された特権なしで実行しているユーザーがインストーラーを起動するたびに、Windows はインストーラーに管理者特権が必要であることを認識し、ユーザーに有効な資格情報を自動的に要求します。
ユーザーがそれらを提供できる場合、インストーラーは管理者権限で起動され、他のアプリケーションは影響を受けません。
ユーザーがそれを実行できない場合、インストーラーは起動に失敗します (とにかく失敗するので問題ありません)。
UAC でマニフェストを使用する方法の詳細については、Microsoft のこちらを参照してください。