プログラミングにより、installutil.exe
を実行することにより、C#プロセス権限を改善します サービスをインストールするためにを使用すると問題が発生します。提供されているコードフラグメント:
プロモーションコマンドプロンプトの下で正常に実行されますが、アプリケーションを呼び出すと失敗します。
Process.Start
ソリューション:許可の促進InstallUtil.exe
<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath); System.Diagnostics.Process.Start(startInfo);</code>この問題は、不十分なプロセス権限から来ています。プロセスを改善するための権限を付与するには、
このコマンドは、Windowsがリソースマネージャーの「管理者として実行」オプションを介してその効果を呼び出す効果をシミュレートするための管理者の許可を使用してプロセスを実行することを示しています。 uac注意
「runas」を使用すると、ユーザーアカウントコントロール(UAC)プロンプトがトリガーされます。これは使い捨ての操作には受け入れられますが、自動化中に干渉を引き起こす可能性があります。 startInfo
Verb
代替:リストに埋め込まれています
<code class="language-csharp">startInfo.UseShellExecute = true; startInfo.Verb = "runas";</code>
UACプロンプトを回避するには、リストを埋め込むことで権限を増やすことを検討してください。これにより、アプリケーションの時点でUACプロンプトが表示され、すべてのサブプロセスの許可が自動的に増加するため、追加のプロンプトはありません。
以上がC#のプロセス特権をプログラム的に高めてinstallutil.exeを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。