InstallUtil.exeを使用してサービスをインストールしようとしていますが、を介して呼び出されますProcess.Start
。これがコードです:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
ここm_strInstallUtil
で、「InstallUtil.exe」への完全修飾パスとexe strExePath
は、サービスへの完全修飾パス/名前です。
管理者特権のコマンドプロンプトからコマンドライン構文を実行すると機能します。(上記のコードを使用して)私のアプリから実行することはできません。プロセスの昇格の問題を扱っていると思いますが、プロセスを昇格した状態で実行するにはどうすればよいですか?ShellExecute
これを見る必要がありますか?
これはすべてWindows Vistaの場合です。管理者特権に昇格したVS2008デバッガーでプロセスを実行しています。
設定も試しましたstartInfo.Verb = "runas";
が、問題は解決しなかったようです。
startInfo.UseShellExecute = true;
さらに追加した後、startInfo.Verb = "runas";
それは私にとってはうまくいきました。