2009-12-07 1 views

답변

25

보십시오. 간단하고 사용하기 쉽고 Windows Installer에는없는 많은 기능이 있습니다.

Windows Installer (MSI)은 데이터베이스 기반의 트랜잭션 설치 패키지를 만듭니다. 제대로 작성된 Windows Installer 패키지는 매우 강력하고 손상되거나 삭제 된 파일은 자동으로 다시 설치됩니다. Windows Installer는 UAC를 인식하고 필요할 때만 상승하지만 기본적으로 기업 시장 용 소프트웨어를 만드는 경우 MSI를 제공해야합니다.

MSI를 이해하는 데 도움이되는 정보는 The Definitive Guide to Windows Installer을 확인하십시오.

+0

추가 : MSI에 많은 문제가 있습니다. x86과 x64의 설치 관리자를 하나의 예제로 만듭니다. (다른 예로 MSI는 언제나 상승하거나 상승하지 않을 수 있습니다. 둘 다 할 수 없습니다.) - NSIS에서는 이러한 제한이 존재하지 않는다고 생각합니다. – BrainSlugs83

+1

@ BrainSlugs83은 MSI 시리즈의 UAC를 참조하십시오. 제대로 작성하면 아무런 제한이 없습니다. http://blogs.msdn.com/b/rflaming/archive/2006/10/01/uac-in-msi-notes-how-to-build-packages-that -work-for-both-standard-user-per-machine.aspx – saschabeaumont

+0

또 다른 보너스는 NSIS 내부에서 MSI를 래핑하는 것입니다. 이 기능은 IT 부서에서 Windows Installer 서비스를 비활성화 (또는 수동)로 설정 한 경우에 유용합니다. NSIS 설치 관리자가이를 확인하고 서비스를 활성화 한 다음 MSI를 추출하여 실행할 수 있습니다. 없음 좋은 글을 적게 적어주세요, @saschabeaumont – Damian

12

아니오 (그리고 .MSI 출력을 지원 할 계획이 없습니다)는

NSIS 당신이 스크립트, 절차 설치 패키지를 만들 수 있습니다 번호, 불행하게도 WIX

+3

대체로 거기에'WiX'를 넣으십시오. –

16

NSIS 설치 프로그램은 MSI 래퍼를 사용하여 MSI 파일로 래핑 할 수 있습니다. 그것은 NSIS와 Inno Setup 인스톨러를 포장하기 위해 만든 작은 도구입니다. 그것은 WiX를 사용하여 MSI를 컴파일하지만 XML 파일 대신 GUI를 제공합니다.

전통적인 EXE 설치 프로그램을 기반으로 MSI 파일을 만들기위한 도구가 필요했기 때문에 만들어졌습니다. 설치 제거 및 업그레이드에 대한 지원이 필요했고 포장 된 설치 프로그램이 제어판의 프로그램 추가/제거에 한 번만 표시되기를 원했습니다.

또한 MSI를 설치할 때 랩된 설치 프로그램에 명령 줄 매개 변수를 전달할 수 있기를 원했습니다.

당신이 그것을 사용하거나 그것을 향상시키는 데 도움이되고 싶다면, http://www.exemsi.com에서 그것을 찾을 수 있습니다.

나는 MSI 패키지에서 실행 가능한 설치 프로그램을 래핑하는 것이 이상적인 솔루션이 아니라고 생각합니다. 그러나 이미 exe가있을 때 그것은 많은 의미를 가질 수 있습니다 :-)

+0

이런 젠장! 이것은 NSIS에 내장되어 있어야합니다! 그것을 지금 시도하십시오. – BrainSlugs83

+2

거룩한 쓰레기는 그 패턴에 대한 좋은 설명입니다. 그것은 전혀 이해가되지 않습니다 ... 죄송합니다. –