NSIS(Nullsoft Scriptable Install System)은 스크립트를 기반으로 하는 오픈소스 윈도우 설치 도구로 가벼운 프로그램의 Installer로 많이 사용됩니다.

국내에서는 곰플레이어나 멜론과 같은 프로그램이 NSIS를 사용했는데, 프로그램 설치시 NSIS Error가 빈번하게 발생해서 고생하는 사용자가 은근히 많아 유명한 설치 에러 중 하나입니다.

Installer intergrity check has faild. Common causes include incomplete download and damaged media. Contact the installer’s author to obtain a new copy.

NSIS Error의 대표적인 문구로 오류 내용을 보면 설치 파일에 데미지가 있거나 추가 패키지를 다운로드 받지 못해서 생기는 문제라고 알려주는데 좀 더 자세한 원인은 다음과 같습니다.

튜토리얼 환경 : 윈도우10 / 11

NSIS Error 원인은?

NSIS 방식의 설치 프로그램을 실행하면 파일 내부적으로는 스크립트가 실행되면서 프로그램 설치를 진행하는데, 스크립트 실행시 필요한 권한에 문제가 있는 경우에 NSIS Error가 발생합니다.

예를 들어 시스템 접근에 필요한 권한이 필요한데 관리자 권한으로 실행하지 않는 경우, 또는 Installer에 스크립트 파일만 있고 실질적인 바이너리 파일은 인터넷에서 받아야 하는데 방화벽 때문에 설치 진행이 되지 않는 경우가 대표적입니다.

이외에 패키지 내부의 파일이 제대로 받아지지 않아 생기는 문제도 있는데, 설치 파일 자체에 문제가 없다면 NSIS Error의 원인 대부분은 실행 권한에 기반하기 때문에 이와 관련된 설정을 하나씩 테스트하면서 해결을 시도할 수 있습니다.

NSIS Error 해결하기

1. 공식 설치 파일을 내려 받아 관리자 권한으로 실행

Download The Installation File From The Official Site And Run It As An Administrator 1

공식사이트가 아닌 소프트웨어 배포 사이트 또는 불특정 사이트에서 설치 파일을 받은 경우 파일 자체가 깨져있는 경우가 있을 수 있으므로 공식사이트에서 설치 파일을 다시 내려 받습니다.

그리고 설치 파일을 마우스 우클릭으로 실행해 ‘관리자 권한으로 실행’을 선택해 설치를 진행합니다.

2. 방화벽 잠시 해제하기

NSIS 패키지 안의 스크립트 동작시 인터넷에서 패키지 파일을 내려받아 설치하는 경우 방화벽 때문에 다운로드가 되지 않아 NSIS Error가 발생하는 경우가 있습니다.

이 케이스는 설치 파일을 실행하기 전 방화벽을 잠시 해제한 다음 설치가 문제없이 완료되면 다시 방화벽을 활성화해서 해결을 시도할 수 있습니다.

Disable Windows 10 11 Firewall Temporarily 1

Windows 검색에서 ‘방화벽’을 검색한 다음 시스템 설정의 ‘방화벽 및 네트워크 보호’를 선택합니다.

Disable Windows 10 11 Firewall Temporarily 2

현재 활성화되어 있는 방화벽 프로필을 선택합니다.

Disable Windows 10 11 Firewall Temporarily 3

Microsoft Defender 방화벽 옵션을 끔으로 변경한 후 설치 파일을 실행해 NSIS Error 문제가 해결되었는지 확인합니다.

3. 시스탬 로캘을 한국어로 변경하기

해외에서 만든 프로그램에서 발생할 수 있는 이슈로 한글로된 사용자 계정일 경우 설치 프로그램을 실행하는 과정에서 오류가 발생할 수 있습니다.

유니코드를 지원하지 않는 설치 형식인 경우 NSIS Error가 발생할 수 있으며 시스템 로캘을 한국어로 지정하고 한국어 로캘을 지원하지 않는 프로그램은 UTF-8로 인코딩해서 실행되게 설정합니다.

Change The System Locale To Korean 1

윈도우의 제어판 > 국가 또는 지역을 선택합니다.

Change The System Locale To Korean 2

관리자 옵션 탭을 선택한 다음 ‘시스템 로캘 변경’ 버튼을 클릭합니다.

그리고 지역 설정에서 현재 시스템 로캘이 한국어(대한민국)으로 설정되어 있는지 확인 후 아래의 ‘Unicode UTF-8 사용’ 옵션을 체크 후 확인 버튼을 눌러 설정을 저장합니다.

설정을 마친 후 Installer를 실행해 문제가 해결되었는지 확인합니다.

4. 설치 파일 실행시 CRC 체크를 패스하기

NSIS 패키지로 만들어진 설치 파일을 실행할 때 CRC 체크를 진행하는데 CRC 체크시 문제가 발생해 NSIS Error가 발생하는 경우가 있습니다.

이 경우에는 CRC 체크를 무시하고 패키지를 실행해서 문제를 해결해볼 수 있으며 방법은 명령 프롬프트에서 실행 옵션을 추가하면 됩니다.

Passing The Crc Check Of The Installation File Using The Command Prompt 1

Windows + R 키를 누른 후 cmd를 입력해 명령 프롬프트를 실행합니다.

Passing The Crc Check Of The Installation File Using The Command Prompt 2

윈도우 탐색기에서 설치 파일 선택 후 명령 프롬프트에 끌어 놓습니다.

Passing The Crc Check Of The Installation File Using The Command Prompt 3

설치 파일 경로가 자동으로 입력되며 한 칸 띄고 /ncrc 옵션을 추가해 실행하면 CRC 체크 없이 설치 파일이 실행되며 NSIS Error 없이 진행되는지 확인합니다.

1 Comment

  1. 안녕하세요Reply

    정말감사합니다 방화벽 cmd 별거 다른곳 나온거 다 해봐도 안되던거

    로컬변경 유일하게 있었는데 이걸로해결되었습니다!!

Write A Comment