ฉันพยายามที่จะติดตั้งใช้บริการ InstallUtil.exe Process.Start
แต่เรียกใช้ผ่าน นี่คือรหัส:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
ที่ใดm_strInstallUtil
คือพา ธ แบบเต็มและ exe ไปที่ "InstallUtil.exe" และstrExePath
เป็นพา ธ / ชื่อแบบเต็มไปยังบริการของฉัน
การเรียกใช้ไวยากรณ์บรรทัดคำสั่งจากพรอมต์คำสั่งที่ยกระดับทำงาน เรียกใช้จากแอปของฉัน (โดยใช้รหัสด้านบน) ไม่ได้ ฉันคิดว่าฉันกำลังจัดการกับปัญหาการยกระดับกระบวนการบางอย่างดังนั้นฉันจะเรียกใช้กระบวนการของฉันในสถานะที่สูงขึ้นได้อย่างไร ฉันต้องมองหาShellExecute
สิ่งนี้หรือไม่?
นี่คือทั้งหมดใน Windows Vista ฉันใช้กระบวนการในตัวดีบัก VS2008 ที่ยกระดับเป็นสิทธิ์ผู้ดูแลระบบ
ฉันลองตั้งค่าแล้วstartInfo.Verb = "runas";
แต่ดูเหมือนจะไม่สามารถแก้ปัญหาได้
startInfo.UseShellExecute = true;
นอกจากนี้startInfo.Verb = "runas";
มันทำงานได้ดีสำหรับฉัน