2011-12-19 4 views
59

패키지가 아직 설치되지 않은 경우 설치해야하는 MSI 패키지가 있습니다. 또한 자동으로 설치해야합니다.MSI 패키지 자동 설치

  • 설치 위치 (C : \ 프로그램 파일 \는 foobar)
  • 설치 유형 : 패키지에 대한하라는 메시지를 표시 최소한 내가 명령을 사용하여 이러한 두 개의 매개 변수를 재정의해야

(최소한의) 전체 라인 매개 변수 또는 다른 방법. 그렇다면이 두 가지 문제에 대해 어떻게 생각합니까? 스크립팅에 VBScript를 사용하겠습니다.

답변

91

msiexec과 함께 /quiet 또는 /qn 옵션을 사용하여 자동 설치를 수행 할 수 있어야합니다.

MSI 패키지는 msiexec 매개 변수 끝에 PROPERTY=value 구문으로 설정할 수있는 공용 속성을 내 보냅니다.

는 예를 들어,이 명령은 로그와 두 가지 속성과 함께, 아니 UI없이 다시 부팅하여 패키지를 설치합니다

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2 

당신은 단지 시작에서 옵션없이 그것을 실행하여 msiexec에 대한 옵션을 읽을 수 있습니다 - > 실행. 다음과 같이

+1

허용되는 매개 변수 목록 (예 : 'PROPERTY1' 및'PROPERTY2')을 찾을 수 있습니까? –

+0

미리 정의 된 속성 목록은 다음과 같습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/aa370905(v=VS.85).aspx 설치 폴더 속성은 각 설치 제작마다 다릅니다 수단. MSI를 만들기 위해 무엇을 사용 했습니까? –

+0

@Cosmin : MSI는 결제 시스템의 런타임 DLL로 구성됩니다 (나로부터 생성되지는 않음). MSI 분석을 위해 Ocra라는 도구를보고 있는데, INSTALLLOCATION이라는 변수에 대한 힌트를 얻었습니다. 확인하고있어. –

1

자동으로 MSI는을 설치하는 가장 적절한 방법은 msiexec.exe command line 경유 :

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log" 

빠른 설명 : Batch script to install MSI :

/L*V "C:\Temp\msilog.log"= verbose logging 
/QN = run completely silently 
/i = run install sequence 

여기에 훨씬 더 포괄적 인 답이 있습니다. 이 대답은 msiexec.exe 명령 줄 옵션에 대한 설명과 설명을 제공하며 설치시 명령 줄에서 설정할 수있는 "공개 속성"을 찾는 방법을 설명합니다. 이러한 속성은 일반적으로 각 MSI마다 다릅니다.