MSI 파일, EXE 파일 차이 (각각의 사용 이유)

윈도우 PC에서 프로그램(소프트웨어)을 설치하는 방법은 일반적으로 두 가지입니다. .msi 파일을 실행하거나, .exe 파일을 실행하는 것입니다. 만약 A라는 프로그램 설치에 대해 SetupA.msi와 SetupA.exe 파일이 모두 주어졌다면 어떤 파일을 실행하는 게 좋을까요? 결론부터 말하면 어느 것을 선택해도 동일한 결과를 얻겠지만, 일반적인 상황이라면 exe 파일 설치가 권고됩니다.

MSI

msi 파일은 일반적인 PC 사용자들이 쉽게 마주치는 확장자는 아닙니다. 일반 사용자에겐 exe 파일이 익숙하죠. 그러나 프로그램을 다루는 직종에서 일하면 msi는 자주 보게 되는 파일 확장자입니다.

msi는 Microsoft Silent Installer의 약자이며, 윈도우가 제공하는 설치 파일입니다. msi에는 애플리케이션의 기능, 구성요소, 정보 등이 포함되어 있습니다. 설치하면 PC에 파일이 복사되고 레지스트리 값이 설정됩니다.

msi 파일을 실행하기 위해서는 마이크로소프트 인스톨러(MS Installer)가 필요합니다. MS 인스톨러는 윈도우에 기본적으로 포함되어 있습니다. 좀 더 구체적으로는 msiexec.exe라는 윈도우 인스톨러 엔진이 그 역할을 합니다.

msi와 exe의 차이

exe는 executable file format의 약자입니다. exe는 MS 인스톨러가 없어도 독립적으로 실행이 가능한 파일입니다. 그래서 부트스트래퍼(bootstrapper)라고 불립니다. 부트스트래퍼는 자립적이라는 뜻입니다. exe는 독립적으로 실행 가능하다는 게 msi와의 큰 차이점입니다.

그렇다면 'msi가 왜 필요한 거지?'라는 의문이 들 수도 있습니다. 그러나 사실 프로그램 설치를 위한 exe 파일은 msi 파일을 포함하고 있습니다. 때문에 'exe 파일은 msi 파일의 포장지다'라는 표현도 있습니다. exe를 실행하면 결국 프로그램 설치를 위한 msi가 실행되는 구조인 것입니다.

exe를 사용하는 이유

굳이 이런 형태로 exe를 사용하는 이유는 몇 가지 이점이 있기 때문입니다.

msi 파일을 실행하기 위해선 MS 인스톨러가 반드시 필요합니다. 만약 MS 인스톨러가 있더라도 프로그램이 요구하는 버전을 충족하지 못하면 msi 파일을 실행할 수 없습니다. 그러나 exe 파일에는 MS 인스톨러를 설치하는 과정이 포함되어 있기 때문에 그런 신경을 쓰지 않아도 됩니다.

exe는 컴퓨터 시스템이 설치하려는 소프트웨어를 사용할 수 있는 환경인지 사전에 확인할 수 있습니다. 소프트웨어를 설치해도 문제없겠다는 판단이 들면 msiexec.exe를 실행시킵니다. 예를 들어, 윈도우에서는 어떤 소프트웨어를 사용하기 위해 특정 버전 이상의 .NET 프레임워크가 필요한 경우가 있습니다. 이때 exe 파일은 사용자에게 “.NET 프레임워크 xx 버전 이상이 필요합니다”라고 안내하거나 자동으로 해당 버전의 .NET 프레임워크를 설치하도록 할 수 있습니다.

exe는 프로그램 설치 시 사용할 언어를 선택하도록 옵션을 부여할 수 있습니다. msi는 그런 기능을 제공하지 않습니다.

이런 이유로 특별한 이유가 있는 게 아니면 일반적인 소프트웨어 배포 파일로 exe가 많이 사용됩니다. 실제로 상용 소프트웨어 설치 파일은 대부분 exe로 제공되고 있잖아요.

마지막으로 하나 덧붙이자면 exe는 설치 목적이 아니라 프로그램의 실행용으로 사용할 수도 있습니다.

msi가 유용하게 사용되는 경우

윈도우 PC를 사용하는 기업에서 전사적으로 프로그램을 배포 및 업데이트할 때 msi 파일이 사용됩니다. 마이크로소프트의 Active Directory를 통해 msi 파일을 배포하는 형식인데요. 직원들의 컴퓨터에 설치 메시지를 띄우거나, 재부팅 시 자동으로 설치되는 등의 운영을 할 수 있습니다.

윈도우 AD 계정이란? (아주 간단히)

회사에서 흔히 “AD 계정으로 접속하세요”라는 말을 한다. AD 계정이라는 단어는 신기하다. 정확히 뭔지는 모르는데 뭔지 알기 때문이다. AD가 뭔지는 모르겠지만 그냥 윈도우 PC를 부팅하고 로

change-words.tistory.com

반응형

댓글

Designed by JB FACTORY