ฉันพยายามที่จะติดตั้งใช้บริการ 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";มันทำงานได้ดีสำหรับฉัน