AI 프로젝트 실습

[AI 앱 배포 완성] Inno Setup으로 딥러닝 프로그램 설치파일 만들기 – 클릭 한 번 설치로 끝내는 PyQt5 + PyTorch 앱

게임교수 2025. 4. 22. 07:53
반응형

Inno Setup으로 딥러닝 프로그램 설치파일 만들기 – 클릭 한 번 설치로 끝내는 PyQt5 + PyTorch 앱

이 글은 인공지능 프로젝트 블로그 연재의 마지막 5편입니다. 지금까지 PyTorch 딥러닝 모델을 실행하는 데스크탑 앱을 만들고, PyInstaller를 통해 실행파일로 패키징하는 과정까지 마쳤습니다. 이번에는 그 실행파일을 설치 프로그램(Setup.exe)으로 만들어 다른 사용자에게 더 쉽게 배포할 수 있는 방법을 설명합니다.

설치 프로그램을 왜 써야 할까?

PyInstaller로 생성한 .exe 파일은 그 자체로 실행 가능하지만, 사용자 입장에서는 다음과 같은 불편이 있습니다:

  • 모델 파일, 출력 폴더 등 추가 파일을 직접 복사해야 함
  • 디렉토리 구조를 맞춰야 오류 없이 실행됨
  • 아이콘, 바탕화면 바로가기 등 편의 기능 없음

설치 마법사를 이용하면 이러한 문제를 모두 해결할 수 있습니다.

Inno Setup이란?

Inno Setup은 Windows용 설치 프로그램을 쉽게 만들 수 있게 해주는 무료 툴입니다. NSIS와 함께 가장 많이 사용되는 인스톨러 생성 도구이며, 배우기 쉽고 문서도 풍부합니다.

Inno Setup 설치

아래 사이트에서 최신 버전을 다운로드하여 설치합니다:

https://jrsoftware.org/isdl.php

폴더 구조 예시

release/
├── myapp.exe
├── weights/
│   └── gopro_generator.pth
├── output/
├── icon.ico
└── setup_script.iss      # 설치 스크립트

기본 설치 스크립트 (.iss) 예제

; Inno Setup Script
[Setup]
AppName=AI 이미지 복원기
AppVersion=1.0
DefaultDirName={pf}\\AI_Deblur_App
DefaultGroupName=AI Deblur
OutputBaseFilename=AI_Deblur_Setup
Compression=lzma
SolidCompression=yes
SetupIconFile=icon.ico

[Files]
Source: \"myapp.exe\"; DestDir: \"{app}\"; Flags: ignoreversion
Source: \"weights\\gopro_generator.pth\"; DestDir: \"{app}\\weights\"; Flags: ignoreversion
Source: \"output\\*\"; DestDir: \"{app}\\output\"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: \"{group}\\AI 이미지 복원기\"; Filename: \"{app}\\myapp.exe\"
Name: \"{userdesktop}\\AI 이미지 복원기\"; Filename: \"{app}\\myapp.exe\"; Tasks: desktopicon

[Tasks]
Name: \"desktopicon\"; Description: \"바탕화면에 바로가기 생성\"; GroupDescription: \"추가 아이콘:\"

스크립트 각 줄 설명:

  • [Setup]: 앱 이름, 버전, 설치 경로 설정
  • [Files]: 실행파일 및 모델 파일 복사 대상 지정
  • [Icons]: 시작메뉴와 바탕화면 바로가기 생성
  • [Tasks]: 설치 과정 중 사용자 선택 항목 제공

설치파일 만들기

  1. Inno Setup 실행
  2. setup_script.iss 열기
  3. 상단 메뉴에서 [Compile] 클릭

몇 초 후, 동일한 폴더에 AI_Deblur_Setup.exe 파일이 생성됩니다. 이 파일만으로도 완전한 설치 프로그램이 완성됩니다.

실행 확인

  • setup.exe 파일 실행
  • 설치 마법사에 따라 설치 경로 선택
  • 설치 완료 후 바탕화면에 바로가기 생성됨
  • 더블 클릭 시 딥러닝 기반 복원 프로그램 실행됨

NSIS를 대안으로 쓸 수도 있음

NSIS는 스크립트 기반의 또 다른 설치 프로그램 생성 도구입니다. 더 커스터마이징이 필요하거나, 더 작은 용량의 인스톨러를 원한다면 선택해볼 수 있습니다.

마무리하며

이로써 인공지능 기반 흔들림 보정 프로그램 개발에서 배포까지의 전 과정을 모두 마쳤습니다. 1편에서는 프로젝트 개요와 설계를, 2편에서는 모델 실행 실습, 3편에서는 GUI 통합, 4편에서는 실행파일 생성, 그리고 마지막 5편에서는 설치파일로의 패키징까지 진행했습니다.

여기서 다룬 내용을 응용하면 다른 AI 프로젝트들도 완성도 있는 프로그램으로 발전시킬 수 있습니다. 실제 서비스나 상용화도 가능한 구조이므로 여러분의 프로젝트에도 적용해보시길 바랍니다.

그동안 이 연재를 따라와 주셔서 감사합니다!

반응형