Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat mengangkat keistimewaan proses secara programatik di C# untuk menjalankan InstallUtil.exe?
anda menghadapi masalah apabila anda menggunakan untuk memasang perkhidmatan. Serpihan kod yang disediakan:
Ia berjalan dengan jayanya di bawah promel promosi promosi, tetapi gagal apabila memanggil permohonan anda.
Process.Start
Penyelesaian: Promosi keizinan InstallUtil.exe
<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath); System.Diagnostics.Process.Start(startInfo);</code>Masalah ini berasal dari pihak berkuasa proses yang tidak mencukupi. Untuk memberi anda keizinan untuk memperbaiki proses anda, anda boleh menetapkan atribut
objek
kepada "runas":Perintah ini menunjukkan bahawa Windows melaksanakan proses dengan keizinan pentadbir untuk mensimulasikan kesan memanggil kesannya melalui pilihan "Run sebagai Pentadbir" dalam Pengurus Sumber.
langkah berjaga -jaga uac startInfo
Verb
<code class="language-csharp">startInfo.UseShellExecute = true; startInfo.Verb = "runas";</code>
Alternatif: Embedded senarai
Untuk mengelakkan arahan UAC, pertimbangkan untuk meningkatkan kuasa dengan memasukkan senarai. Ini akan memaparkan prompt UAC pada masa permohonan dan secara automatik meningkatkan keizinan semua sub -prosesnya, dengan itu tidak ada petunjuk tambahan.
Atas ialah kandungan terperinci Bagaimanakah saya dapat mengangkat keistimewaan proses secara programatik di C# untuk menjalankan InstallUtil.exe?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!