2016-12-21 8 views
3

면책 조항 : 개념을 이해하려고 할 때마다 머리가 돌아 가기 시작하기 때문에 가장 기본적인 WiX 튜토리얼을 넘지 못했습니다.MSI 기반 설치의 특정 이점은 MSI 랩 스크립트 기반 설치를 기반으로합니까?


나는 Is it feasible/sensible to wrap an InnoSetup installer inside an MSI for easier distribution via AD?을 읽어 봤는데 :

  • 설치 InnoSetup 같은 스크립트/EXE 기반 설치 프로그램을, 포장, 및 제공 할 수있는 도구 (exemsi MSI 래퍼를 찾습니다)는 오늘, 업그레이드가 제거하십시오.
  • 내 경험에 따르면 사용자가 기대하는 바입니다. 제품을 설치할 수 있고 최신 설정으로 업그레이드 할 수 있으며 제거하면 제품이 제거됩니다.
  • Yetquiteafew "진정한"MSI만이 "모든"(?) 필수 (?) 기능을 안정적으로 제공 할 수 있다고 대답합니다.

그래서, 난 항상 생각 무엇 설치 프로그램은 어떻게해야했다 주어진입니다 :

  • 제품 (수리 허용 가능한
  • 로 약간의 번거 로움과 함께 제품을 설치 가능한 간단하게 실행하여
  • 최신 설정을 통한 제품 업그레이드 허용
  • 가능한 한 추적을 남기지 말고 제품을 제거하십시오.

질문 단순히 MSI에 exe를 포장하여 적절한 도구를 제공, 포인트 위에서 가능하다는 것을 입증 주어진, 어떤 추가적인 장점 "진짜"MSI 패키지를 제공 할이다 ?

분명히 : MSI 패키지는 엔터프라이즈/AD/GPO 배포에 대한 추가 혜택을 제공합니다. 설치자가 .exe 인 경우 필요하지 않습니다. 의심의 여지가 없습니다. 내가 관심있는 부분은 무엇입니까 - 실제로 사용 된 - 기능은 "실제"MSI 패키지를 통해서만 가능합니다.

+0

시스템 관리자라고하면 기본 MSI 패키지 (거의)는 자동 설치와 같은 기능을 항상 지원하며 설치가 실패하면 오류 코드를 올바르게 반환합니다. MSI 래퍼가 내 경험에 항상 신뢰할만한 것은 아닙니다. –

+0

@HarryJohnston - 그 주셔서 감사합니다. 예, 래퍼가 오류 코드를 올바르게 전달해야하며 자동 설치를 고려해야하지만 둘 다 "그냥"배치 할 수 있습니다. –

+0

원래의 실행 파일이 오류 코드를 올바르게 생성하고 자동 설치를 지원하는 것은 물론 가능합니다. 방금 포장 된 패키지로 명시 적으로 지원해야하는 것이 었습니다. 네이티브 MSI를 만들면 무료로 얻을 수 있습니다. –

답변

3

MSI는 필요시 추가 기능 설치를 지원합니다. MSI에서 만든 바로 가기 (.lnk)에는 Windows에서 인식하는 metadata 특수 문자가 포함되어 있으며 누락 된 기능을 자동으로 복구 및/또는 설치할 수 있습니다.

또 다른 이점은 패키지가 서명 된 경우 관리자가 아닌 사용자가 without UAC elevation 패치를 설치할 수 있다는 것입니다. MSI의

일부 단점은 다음과 같습니다

  • 는 32 비트 및 64 비트 목표를위한 하나의 .msi를 만들 수 없습니다.
  • 단일 사용자/비 상승 관리자는 changed over time이고 새 MSI 속성이 추가되어 문제가 될 수 있습니다.
  • 지원되는 최소 Windows 버전에 따라 테스트/처리 할 여러 주요 버전의 MSI가있을 수 있습니다.
  • 전체를 저장하여 시스템 드라이브를 확장시킵니다.최근 버전의 Windows에서는 % windir % \ Installer에 msi가 있습니다.
  • 설치하는 모든 단일 파일에 대한 경로 및 기타 정보를 저장하여 레지스트리를 압축합니다.
+0

고마워요. 필자가 필요로했던 두 가지 기능은 아니지만 알아두면 좋습니다. 나는 그것이 장점을 물어 보았고 당신이 세 가지를 나열한 것을 좋아한다. 그리고 나서 5 가지 단점을 나열했다 .-D –

+1

MSI는 물론 변형과 병합 모듈과 같은 다른 독특한 기능을 가지고 있지만 나는 내 팔을 비틀면 더 많은 단점을 나열 할 수있다. 내가 그 (것)들에게 이점을 부르는 지 모르겠다. – Anders

3
  1. 설치 또는 제거 작업은 기능 (제품)을 기준으로합니다. 이것은 사용자의 질문에 대한 질문이 적어 설치자가 더 작아지는 추세로 인해 예전만큼 중요하지 않습니다. Visual Studio 및 SQL Server와 같은 대규모 설치 프로그램의 경우 부트 스트 래퍼를 통해 질문을받습니다. 이는 사용자가 생각하는 것과 반대입니다.
  2. 설치, 복구 및 제거는 구성 요소별로 (모든 제품 및 버전에서) 수행됩니다. 참조 카운팅은 Windows Installer의 통제하에 있으며 사전 Windows Installer 기술보다 손상 될 가능성이 적습니다. 공유 구성 요소는 .NET 및 등록이 필요없는 COM과 같은 서로 다른 응용 기술 때문에 덜 공통적입니다. 대형 시스템은 구성 요소를 공유 할 수 있지만 다시 한 번 별도의 설치 프로그램으로 나뉘어 여러 구성 요소가 필요하지 않습니다.

이러한 장점은 설치 아키텍처의 필요성에 따라 달라집니다.

0

MSI는 설치하지 않고 사용 가능한 응용 프로그램의 광고를 지원합니다 (자세한 내용은 this MSDN post). 가장 필수적인 응용 프로그램 만 배포 할 수 있으므로 회사 환경에서 편리합니다. 1) 사용자 컴퓨터의 실제 공간을 절약합니다. 2) 사용자 별 라이선스가있는 앱의 비용을 줄입니다. 실제로 앱을 필요로하는 사용자 만 실제로 라이센스를 설치하고 라이선스를 활성화합니다.

+0

감사. 결코 rhat 특징 세트에 들어 가지 않았습니다. 또한, 귀하의 짧은 읽기에서 그것은 래퍼로 할 수있는 것 같습니다. 언뜻 보면 "기본"MSI 구성 요소가 필요한 것 같지 않습니다. –