2016-11-09 6 views
1

최종 사용자 컴퓨터에 Crystal Reports를 설치할 수 있어야하지만 일반 사용자 로그인시 네트워크 보안이 허용되지 않으므로 실행해야합니다 각 데스크톱에 설치할 다른 사용자로 내가 .. 모든 사용자가 크리스탈 리포트를 설치할 수있는 작은 응용 프로그램을 만들려고하고C# 다른 사용자로 msi 설치 패키지를 실행하는 방법

지금까지 내가 가진 :

 Process p = new Process(); 
     p.StartInfo.FileName = @"C:\cabs\CRRuntime_32bit_13_0_5.msi"; 
     p.StartInfo.Arguments = "/i \"C:\\Application.msi\"/qn"; 
     p.StartInfo.UserName = uname; 
     p.StartInfo.Password = pword; 
     p.StartInfo.Domain = domain; 
     p.StartInfo.UseShellExecute = false; 


     try 
     { 
      p.Start(); 
     } 
     catch(Exception er) 
     { 
      MessageBox.Show(er.Message); 
     } 

이 코드를 실행하려고하면, 나는 메시지 "지정된 참조 실행 파일이이 OS 플랫폼에 유효한 응용 프로그램이 아닙니다. "

내가 놓친 것이 있습니까?

CHeers

답변

0

MSI는 Windows에서 실행 파일이 아닙니다. 당신은 매개 변수로 당신과 함께

Process p = new Process(); 
p.StartInfo.FileName = @"C:\Windows\System32\msiexec.exe"; 
p.StartInfo.Arguments = @"C:\cabs\CRRuntime_32bit_13_0_5.msi"; 
p.StartInfo.UserName = uname; 
p.StartInfo.Password = pword; 
p.StartInfo.Domain = domain; 
p.StartInfo.UseShellExecute = false; 
+1

감사 MSI 파일을 msiexec를 호출 해, 없어진 것을 모두 @이었다 "I/C : \ 택시 \ CRRuntime_32bit_13_0_5.msi"; 설치 프로그램을 시작하기 위해 i/switch가 필요합니다 ... 건배 – Andie