윈도 인스톨러
Windows Installer![]() | |
개발자 | 마이크로소프트 |
---|---|
초기 릴리즈 | 1999년 8월 | ; 전(
안정된 릴리스 | 5.0/2009년 7월 22일, [1] 전( |
운영 체제 | Microsoft Windows |
플랫폼 | IA-32, x86-64, ARM32, ARM64, Itanium |
부속품 | Windows 2000 이후 |
유형 | 인스톨러 |
면허증. | 프리웨어 |
웹 사이트 | docs![]() |
파일 이름 확장자 | .mp, .msp |
---|---|
인터넷 미디어 유형 | 응용 프로그램/x-ole-스토리지 |
개발자 | 마이크로소프트 |
포맷의 종류 | 기록 보관소 |
컨테이너: | 설치 정보 및 옵션인 .cab 파일 페이로드 |
확장원 | COM 구조화 스토리지 |
오픈 포맷? | 아니요. |
윈도우즈 Installer(msiexec.exe, 이전 마이크로소프트 Installer,[3] 코드명Darwin)[4][5]는 소프트웨어의 설치, 유지 관리 및 제거에 사용되는 마이크로소프트 윈도우즈의 소프트웨어 구성 요소 및 응용 프로그램 프로그래밍 인터페이스(API)입니다.인스톨 정보 및 옵션 파일 자체는, 인스톨 패키지로 패키지 되어 있습니다.이 패키지는 COM Structured Storage 로 구조화되어 일반적으로 「MSI 파일」이라고 불립니다.파일 확장자를 가진 패키지mst
Windows Installer "Transformation Scripts (변환 스크립트)"가 포함되어 있습니다.msm
확장자에는 "Merge Modules"와 파일 확장자가 포함됩니다.pcp
는 "패치 생성 속성"[6]에 사용됩니다.Windows Installer에는 이전 버전인 Setup API에서 크게 변경되었습니다.새로운 기능에는 GUI 프레임워크와 언인스톨시퀀스 자동생성이 포함됩니다.Windows Installer는 이전 버전의 InstallShield 및 NSIS와 같은 독립 실행형 실행 파일 설치 프레임워크 대신 사용됩니다.
Microsoft Store(당시 Windows Store)를 도입하기 전에 Microsoft는 서드파티에게 Windows Installer를 설치 프레임워크의 기반으로 사용하도록 권장했습니다.이것에 의해, 다른 인스톨러와 올바르게 동기 해, 인스톨 된 제품의 내부 데이타베이스의 일관성을 유지할 수 있습니다.롤백이나 버전 관리 등의 중요한 기능은 신뢰성 높은 작업을 위해 일관된 내부 데이터베이스에 의존합니다.또한 윈도우즈 Installer는 권한이 없는 사용자를 위해 프록시를 통해 소프트웨어 설치를 수행하여 최소 권한 원칙을 지원합니다.
패키지의 논리적 구조
패키지는 하나 이상의 전체 제품 설치를 설명하고 GUID에 의해 일반적으로 식별됩니다.제품은 기능별로 그룹화된 구성 요소로 구성됩니다.Windows Installer는 제품 간의 종속성을 처리하지 않습니다.
상품들
설치된 단일 프로그램(또는 프로그램 세트)이 제품입니다.제품은 전 세계적으로 권위 있는 식별 정보를 제공하는 고유한 GUID(ProductCode 속성)에 의해 식별됩니다.GUID를 버전 번호(ProductVersion 속성)와 함께 사용하면 제품의 파일 및 레지스트리 키를 릴리스 관리할 수 있습니다.
패키지에는 패키지 실행 시 패키지가 실행되는 방식과 관련된 패키지 로직 및 기타 메타데이터가 포함됩니다.예를 들어 제품의 EXE 파일을 변경하면 릴리스 관리를 위해 ProductCode 또는 ProductVersion을 변경해야 할 수 있습니다.다만, MSI 파일 자체의 릴리스 관리를 위해서, 기동 조건을 변경 또는 추가하는 것(제품은 이전 버전과 완전히 같음)만으로, 패키지 코드를 변경할 필요가 있습니다.
특징들
기능은 구성요소의 계층 그룹입니다.기능에는 임의의 수의 컴포넌트 및 기타 서브기능을 포함할 수 있습니다.작은 패키지는 단일 기능으로 구성할 수 있습니다.보다 복잡한 인스톨러에서는, 인스톨 또는 삭제할 기능을 선택할 수 있는 「커스텀 셋업」다이얼로그 박스가 표시되는 일이 있습니다.
패키지 작성자가 제품 기능을 정의합니다.예를 들어 워드 프로세서는 프로그램의 핵심 파일을 하나의 기능에 배치하고 프로그램의 도움말 파일, 선택적 맞춤법 검사 및 개인양식 모듈을 추가 기능에 배치할 수 있습니다.
구성 요소들
구성 요소는 제품의 기본 단위입니다.각 구성 요소는 윈도우즈 Installer에서 하나의 단위로 취급됩니다.설치 관리자는 [7]구성 요소의 일부만 설치할 수 없습니다.구성 요소에는 프로그램 파일, 폴더, COM 구성 요소, 레지스트리 키 및 바로 가기를 포함할 수 있습니다.사용자는 컴포넌트와 직접 대화하지 않습니다.
컴포넌트는 GUID에 의해 글로벌하게 식별됩니다.따라서 같은 컴포넌트를 같은 패키지 또는 여러 패키지의 여러 기능 간에 공유할 수 있습니다.이상적으로는 머지 모듈을 사용하는 것이 좋습니다.
주요 경로
키 경로는 패키지 작성자가 지정된 구성 요소에 대해 중요한 것으로 지정하는 특정 파일, 레지스트리 키 또는 ODBC 데이터 원본입니다.파일은 키 경로의 가장 일반적인 유형이기 때문에 키 파일이라는 용어가 일반적으로 사용됩니다.구성 요소에는 키 경로가 하나만 포함될 수 있습니다. 구성 요소에 명시적 키 경로가 없는 경우 구성 요소의 대상 폴더가 키 경로로 간주됩니다.MSI 기반 프로그램이 시작되면 Windows Installer는 키 경로의 존재를 확인합니다.현재의 시스템 상태와 MSI 패키지에 지정되어 있는 값이 일치하지 않는 경우(키 파일이 없는 경우 등), 관련 기능이 재인스톨 됩니다.이 프로세스를 자가 복구 또는 자가 복구라고 합니다.2개의 컴포넌트는 같은 키 경로를 사용할 수 없습니다.
설치 관리자 패키지 개발
새 응용 프로그램의 설치 패키지를 만드는 것은 간단하지 않습니다.설치할 파일, 위치 및 레지스트리 키를 지정해야 합니다.비표준 작업은 일반적으로 DLL에서 개발된 사용자 지정 작업을 사용하여 수행할 수 있습니다.MSI 패키지 작성에 도움이 되는 상용 및 프리웨어 제품에는 Visual Studio (2010년까지 [8]네이티브로 새로운 VS[9] 버전에서는 확장판 포함), InstallShield 및 WiX 등이 있습니다.유저 인터페이스와 동작은, 무인 인스톨 등, 일반적인 상황이 아닌 경우에 사용하도록 설정할 수 있습니다.준비가 완료되면 개발자의 로컬머신에서 명령어와 파일을 읽고 .msi 파일을 작성함으로써 설치 패키지를 "컴파일"합니다.
인스톨의 개시시에 표시되는 유저 인터페이스(다이얼로그 박스)는, 새로운 인스톨러를 개발하는 셋업 엔지니어에 의해서 변경 또는 설정할 수 있습니다.버튼, 텍스트 필드 및 라벨에는 일련의 대화 상자에 나열할 수 있는 제한된 언어가 있습니다.설치 패키지는 UI 없이 실행할 수 있어야 합니다.이것을 「미참석 인스톨」이라고 부릅니다.
ICE 검증
Microsoft [10]는, MSI 데이터베이스의 잠재적인 문제를 검출하기 위해서 사용할 수 있는 일련의 내부 정합성 평가기(ICE)를 제공하고 있습니다.ICE 규칙은 CUB 파일로 결합됩니다. CUB 파일은 대상 MSI 데이터베이스의 내용에서 유효성 검사 경고 및 오류를 테스트하는 사용자 지정 작업이 들어 있는 제거된 MSI 파일입니다.ICE 검증은 Platform SDK 툴 Orca 및 msival2 또는 다양한 오서링 환경과 함께 제공되는 검증 툴을 사용하여 수행할 수 있습니다.
예를 들어 다음과 같은 ICE 규칙이 있습니다.
- ICE09: System 폴더 앞으로 컴포넌트가 영구적인 것으로 표시되어 있는지 확인합니다.
- ICE24: 제품 코드, 제품 버전 및 제품 언어가 적절한 형식인지 확인합니다.
- ICE33: 레지스트리 테이블이 다른 테이블(Class, Extension, Verb 등)에 적합한 데이터에 사용되지 않는지 확인합니다.
ICE 검증 경고 및 오류에 대처하는 것은 릴리스 프로세스의 중요한 단계입니다.
버전
버전 | 부속품[1] | 다음에 대해서도 이용 가능합니다. |
---|---|---|
1.0 | Office 2000 | — |
1.1 | Windows 2000 RTM, SP1, SP2 | Windows 95, Windows 98 Windows NT 4.0 |
1.2 | Windows Me | — |
2.0 | Windows XP RTM, SP1 Windows 2000 SP3, SP4 Windows Server 2003 RTM | Windows 9x Windows NT 4.0 윈도 2000 |
3.0 | Windows XP SP2 | 윈도 2000 윈도 XP Windows Server 2003 |
3.1 | Windows XP SP3 Windows Server 2003 SP1, SP2 Windows XP Professional x64 Edition | 윈도 2000 윈도 XP Windows Server 2003 |
4.0 | Windows Vista RTM, SP1 Windows Server 2008 RTM | — |
4.5[12] | Windows Vista SP2 Windows Server 2008 SP2 | 윈도 XP Windows Server 2003 Windows XP Professional x64 Edition 윈도 비스타 Windows Server 2008[13] |
5.0 | Windows 7 이후 Windows Server 2008 R2 이후 | — |
「 」를 참조해 주세요.
- APPX - Microsoft Windows Store에서 사용되는 소프트웨어 패키지 형식
- App-V - 가상화 및 스트리밍에 사용되는 소프트웨어 패키지 형식
- .exe
- 인스톨
- 설치 소프트웨어 목록
- 패키지 관리 시스템
- Windows Installer CleanUp 유틸리티
- ZAP 파일– MSI 파일이 존재하지 않을 때 응용 프로그램 설치를 수행하는 방법
레퍼런스
- ^ a b "Released Versions of Windows Installer". Microsoft Developer Network. Microsoft. Retrieved 3 November 2012.
- ^ "File Extension .MSI Details". Filext.com. Retrieved 2013-04-24.
- ^ Mensching, Rob (2003-11-25). "Inside the MSI file format". MSDN Blogs. Archived from the original on 2009-01-15. Retrieved 2017-02-15.
- ^ Mensching, Rob (2003-10-11). "The story of Orca". MSDN Blogs. Archived from the original on 2008-12-23. Retrieved 2017-02-15.
- ^ Smith, Chris (2005-07-01). "Windows Installer, The .NET Framework, The Bootstrapper, and You". MSDN Blogs. Retrieved 2017-02-15.
- ^ Stewart, Heath (2006-02-27). "Identifying Windows Installer File Types". Retrieved 2020-04-22.
- ^ "Windows Installer Components". MSDN Library. Microsoft Corporation. 2012-11-30. Retrieved 2013-04-08.
- ^ Hodges, Buck (2011-03-17). "Visual Studio setup projects (vdproj) will not ship with future versions of VS". MSDN Blogs. Retrieved 2020-02-04.
- ^ "Visual Studio Installer Projects Extension". Visual Studio Blog. 2014-04-17. Retrieved 2020-02-04.
- ^ 내부 일관성 평가 – ICE
- ^ "Applying Full-File Updates to Client Computers". Microsoft. March 9, 2004. Archived from the original on April 10, 2004.
- ^ Windows Installer 4.5의 신기능
- ^ "Released Versions of Windows Installer (Windows)". Msdn.microsoft.com. 2012-11-30. Retrieved 2013-04-24.