2009-05-24 3 views
44

나는 항상 이것에 대해 궁금해했습니다. 많은 응용 프로그램 설정에는 압축을 푼 zip 파일이 있으며, 파일 집합에는 exe와 msi가 포함됩니다. 그 차이점은 무엇입니까? 그들은 종종 거의 같은 크기입니다. 나는 어느 것이 실행해야하는지 정말로 확신하지 못한다. 때로는 exe와 때로는 msi를 수행하며, 보통은 둘 중 하나에서 작동한다. 그러나 그들 중 누구는 다른 사람이하지 않는 일을합니까? 그리고 그렇지 않다면 같은 일을하는 두 개의 파일을 가지고 낭비하지 않는 것입니까? 특히 다운로드 크기 등에 대해 생각할 때 ...왜 많은 프로그램에 setup.exe와 setup.msi가 모두 있습니까?

여기에 있거나 ServerFault에 있어야하는지, 아니면 둘 다 아닐지는 모르겠지만 개발자는 일반적으로 설치 파일을 만드는 개발자이기 때문에 개발자가이 이유를 알 수 있습니다. 그것은 마치 =)

+0

저는 종종 같은 것을 궁금해했습니다. 그리고, 나는 이것이 여기에 속한다고 생각합니다. –

+0

다음은 최근 답변입니다. http://stackoverflow.com/a/23815524/129130 –

답변

36

exe와 msi를 모두 가지고있는 경우 exe는 msi의 로더 일뿐입니다. 다중 언어를 지원하는 설치가있는 경우 exe는 설치 전에 msi에 언어 변환 (mst)을 적용합니다.

exe를 msi 주위의 래퍼로 볼 수 있습니다. msi 파일은 별도로 제공되거나 제공되지 않을 수 있습니다. 사람들이 msi 파일을 제공하는 이유는 그룹 정책 설치 (Windows Active Directory 인프라에서)를 용이하게하기 위해서입니다. exe가 아닌 msi 파일의 설치를 밀어 넣을 수 있기 때문입니다.

+16

+1, exe는 Windows Installer ver – Lucas

13

실제 설치는 MSI에서 수행됩니다. Prashast가 말했듯이, exe는 단지 래퍼 일 뿐이며, exe를 실행하는 이유는 exe가 항상 실행 가능하다는 것입니다. 사용자가 컴퓨터에 MS Installer가 설치되어 있지 않거나 MS Installer의 버전이 설치에 필요한 버전보다 오래된 경우 MSI 파일을 실행할 수 없습니다.

exe는 MSI 파일을 실행하기 전에 MS Installer (이 작업을 수행하려면 사용자에게 질문을 포함하여)를 자동으로 설치합니다. 대부분의 경우 Microsoft Installer에 필요한 설치 패키지는 setup.exe에 포함되어 있거나 때로는 Microsoft에서 설치를 다운로드하기위한 링크가있는 선행 조건 검사 일뿐입니다.

20

setup.exe은 MSI의 래퍼이지만 래퍼가 아닙니다.

  • setup.exe 매개 변수
  • 는 Windows Installer에 대한 setup.exe 검사를 정의하는 setup.ini에 의존 할 수
  • setup.exe
  • 는 .NET 프레임 워크와 같은 프레임 워크를 확인할 수 있습니다 (A MSI 그렇지 않으면 설치할 수 없습니다). 개발자는 (Visual Studio 2008의 경우) 중 하나를 선택할 수 있습니다. 이 부족한 경우,

    방금 ​​.msi 파일을 제공 할 수 있습니다, 아주 기본적인 즉 msistuff.exe
2

으로 재구성 할 수 http://www.microsoft.com/

  • setup.exe에서 다운로드를 시도하고 그것을 설치합니다 . 그러나 .exe없이 .exe는 작동하지 않습니다.

  • +2

    과 같은 msi의 일부 전제 조건을 확인할 수도 있습니다. **이 대답은 잘못되었습니다. **. '설정.exe' 프로그램은 파일 압축을 풀고 하드 드라이브에 복사 한 다음 레지스트리 또는 그 조합으로 등록하는 코드 묶음 일 수 있습니다. 'setup.exe' 프로그램이 이런 방식으로 작성되거나 MSI 옵션이 선택되지 않은 채로'InstallShield'와 같은 패키지 매니저로 생성되면 프로그램을 설치하기 위해 MSI를 가질 필요가 없습니다. –

    관련 문제