管理標高WIXを使用してWPFアプリケーションを実行します
-
28-10-2019 - |
質問
WPFアプリケーションを書きました。クライアントマシンにインストールされると、アプリケーションを使用する管理者の権限があるように、ユーザー名とパスワードを求められます。
アプリケーションがポートを開き、ファイルシステムにファイルを書き込むため、管理者の特権が必要です。
管理者のユーザー名とパスワードを求められずにユーザーがアプリケーションを実行できるようにし、管理者のプライベートで実行するためにアプリケーションを昇格させることは可能ですか?
ありがとう
解決
アプリがインストールされると、管理者の権利が求められます インストール プログラムは、管理の実行にマークされています。通常、これは、プログラムファイルフォルダー階層内など、複数のユーザーが利用できる場所にインストールする場合にのみ必要です。 MSIはデフォルトでUACプロンプトを上げますが、簡単です UACプロンプトを上げないWIXを使用してMSIを作成します.
アプリが(管理者権利のないユーザーによって)実行されると、管理者の権利が要求されます アプリ それ自体は、管理の実行にマークされています。これは部分的にはあなたの管理下にありますが、クライアントマシンのユーザーがオーバーライドできます。
システムフォルダーをファイルするように書くアプリは、アプリを実行しているユーザーがそれらのフォルダーに許可を与える限り、管理者の権利を必要としません。通常、各ユーザーがアクセスできる場所に書き込むことで、この作業を行うことができます。
ただし、アプリが統計情報を照会する以上のことを行っている場合、ポートを開くには管理者の権利が必要だと思います。
アプリが管理者の権利を実行する必要があり、プログラムの実行中にADMIN以外のユーザーがUACプロンプトを表示したくない場合は、アプリを2つの部分に分割することをお勧めします。
最初の部分は、LocalSystemなどの特権ユーザーの下で実行され、デスクトッププログラムと対話するように構成されているWindowsサービスです。このサービスは、管理関連のすべてのタスクを実行し、管理者の権利を要求するインストーラーによってセットアップする必要があります。
2番目の部分は、特権を与えないWPFプログラムです。このWPFプログラムを標高を必要としないとマークすると、エンドユーザーは実行中にUACプロンプトが表示されません。