2013-07-17 4 views
0

Install Shield Limited Edition을 사용하여 만든 MSI 설치 프로그램이 있습니다. 설치 프로그램을 직접 실행하여 정상적으로 설치할 수 있습니다./QUIET 매개 변수를 사용하여 UI를 표시하지 않는 경우 MSIEXEC가 MSI 설치를 설치하지 않습니다.

/QUIET 매개 변수를 사용하지 않으면 MSIEXEC을 사용하여 설치할 수도 있지만/QUIET 매개 변수를 사용하면 응용 프로그램이 설치되지 않습니다.

이유가 무엇입니까? MSI를 직접 실행하면 사용권 계약서가 나타납니다. 자동 모드로 설치되지 않은 이유가 될 수 있습니까?

+0

상승 된 cmd 프롬프트에서 명령을 실행 해 보았습니까? –

+0

크리스토퍼가 언급 한 것처럼 문제는 명령 프롬프트가 올라가지 않아서 UAC가 설치를 중단한다는 것입니다. 자세한 로그를 만들려면 로그 파일에이 로그가 있어야합니다. –

답변

0

이 문제는 시스템 재시동 후에 상승 된 권한으로 명령 프롬프트를 열지 않고 조용하게 설치되었습니다.

1

설치를 로깅 했습니까?

일반적으로 사용권 계약 페이지는 설치를 방해하지 않지만 사용자가 그렇게 작성할 수는 있습니다.

1

Instedit과 같은 일부 편집기로 OpenUISequence 테이블을 열고 MSI 파일을 엽니 다. 설치의 그래픽 부분에서 실행되는 모든 동작을 볼 수 있습니다. InstallExecuteSequence 테이블은 설치 단추를 누르거나 자동 설치를 수행 한 후에 실행되는 모든 조치를 보류합니다.

InstallUISequence에서만 실행중인 작업이 하나 있으면 시스템에서 일부 변경 사항을 확인하십시오. 모범 사례에 위배되지만 많은 msi가이를 수행합니다.

대부분의 원인은 일부 속성이 필요하며 일부 창에서 가져 오기 때문에 명령 줄에 매개 변수를 사용하여 "주입"해야합니다. 모든 대문자 속성 (이 속성은 사용할 수있는 속성)의 표 Property를 참조하십시오.

0

나는이 동일한 문제점을 가지고있었습니다. 나는 원래 질문에 답을 얻었지만 나는 나와 같은 대답을 찾는 다른 사람들을 위해 여기에 올릴 것이라고 생각했다. 자동 설치를 수행하려면 관리자 권한이 있어야합니다. 명령 프롬프트를 관리자 권한으로 실행하면됩니다.

2

해결책은 /quiet 대신에 /passive/qn을 사용하는 것입니다.

/quiet = 사용자 개입없이 자동 모드. 당신이 QN/설정 때문에 진행률 표시 줄 만 , 즉 진행률 표시 줄을 의미합니다 - 기본 동작 (즉 NO입니다)

/수동는 = 무인 모드 설치 프로그램이 UAC 권한을 요청하는 고려하는 것을 의미 UI 없음. 거의 같은 일이지만 다른 방법으로 :)