2016-05-31 3 views
3

cを管理してプロセスを開始します。どのように次のコードを使用し、私はapplication.Andのインストールをテストしたい右#

  var pathToInstaller = ConfigurationManager.AppSettings["DesignerApp"]; 
      var psi = new ProcessStartInfo 
      { 
       CreateNoWindow = true, 
       FileName = pathToInstaller, 
       UseShellExecute = true, 
       Arguments = "/quiet", 
       Verb = "runas"    
      }; 

      var process = Process.Start(psi); 
      process.WaitForExit(); 

をしかし、まだadministrator.What午前の権利のプレゼンテーションを持つウィンドウがあります私は間違っている?

+9

ユーザーの背後にある管理者としてプロセスを開始することはできません。そうしないと、すべてのウイルスとマルウェアが管理者のチェックをバイパスできます。 –

+0

この洗練されたソリューションはいかがですか?新しいWindowsサービスを追加し、システムサービスアカウントの下で動作します。新しいプログラムを開始するコマンドを受け取り、[CreateProcessAsUserW](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682429%28v=vs.85%29.aspx)を呼び出して必要なユーザー。 –

+2

これはできません。ユーザーに管理者権限を与える** ASK **必要があります。 – VSG24

答えて

0

セキュリティ上の理由から、アプリケーションを強制的に管理者モードで実行する必要はありません。しかし、先に進むにはこのリンクをチェックしてください。How do I force my .NET application to run as administrator?

+0

これはコメントのようです – Gahan

関連する問題