2014-09-09 3 views
3

У меня есть установщик MSI, что мне нужно, чтобы установить его молча из C#Как запустить установщик MSI в ЦМД, как администратор, используя C#

Process process = new Process(); 
process.StartInfo.FileName = "cmd.exe"; 
process.StartInfo.WorkingDirectory = @"C:\temp\"; 
process.StartInfo.Arguments = "msiexec /quiet /i Setup.msi ADDLOCAL=test"; 
process.StartInfo.Verb = "runas"; 
process.Start(); 
process.WaitForExit(60000); 

отметив, что CMD команда работает отлично, если я вручную запустить его из ЦМД как администратор

, когда я запускаю его я просто получаю экран CMD в режиме администратора, но команда не выполняет

+2

В чем проблема с этим кодом? Любое сообщение об ошибке? –

+0

Пожалуйста, проверьте эту ссылку http://stackoverflow.com/questions/16926232/run-process-as-administrator-from-a-non-admin-application –

+0

Когда я запустил его, я просто получил экран cmd в режиме администратора, но команда не выполняет – Ateeq

ответ

3

в V2Solutions - MS Team упоминалось выше, решение изменить следующие

process.StartInfo.FileName = "msiexe.exe" 

и код будет

Process process = new Process(); 
process.StartInfo.FileName = "msiexec"; 
process.StartInfo.WorkingDirectory = @"C:\temp\"; 
process.StartInfo.Arguments = " /quiet /i Setup.msi ADDLOCAL=test"; 
process.StartInfo.Verb = "runas"; 
process.Start(); 
process.WaitForExit(60000); 

это работает для меня :)

0

Это также поможет вам:

Process process = new Process(); 
process.StartInfo.FileName = "msiexec.exe"; 
process.StartInfo.Arguments = string.Format("/qn /i \"{0}\" ALLUSERS=1", @"somepath\msiname.msi"); 
process.Start(); 
process.WaitForExit(); 
Смежные вопросы