AutoPercenty3/AutoPercenty.iss

64 lines
2.6 KiB
Plaintext

; AutoPercenty3 Inno Setup Script
; 이 스크립트는 cx_Freeze로 빌드된 결과물이 있는 "build\exe.win-amd64-3.11" 폴더를 기반으로 인스톨러를 제작합니다.
#define MyAppVersion GetFileVersion("build/exe.win-amd64-3.11/AutoPercenty.exe")
#include "updateManager/__version__.py"
[Setup]
AppName={#__program_name__}
AppVersion={#__version__}
AppPublisher={#__publisher__}
AppPublisherURL={#__website__}
; 기본 설치 경로: AppData\Local\AutoPercenty3
DefaultDirName={localappdata}\{#__program_name__}
DefaultGroupName={#__program_name__}
OutputDir={#__setup_output_dir__}
OutputBaseFilename={#__setup_name__}
SetupIconFile={#__setup_icon__}
Compression=lzma
SolidCompression=yes
VersionInfoVersion={#__version__}
VersionInfoCompany={#__company_name__}
VersionInfoDescription={#__description__}
VersionInfoCopyright={#__copyright__}
VersionInfoProductName={#__program_name__}
VersionInfoProductVersion={#__version__}
[Languages]
Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checked
[Dirs]
; 설치 시 {app}\logs 폴더를 생성하고,
; Users 그룹에 'modify' 권한(=쓰기 가능)을 부여
Name: "{app}\logs"; Permissions: users-modify
[Files]
Source: "dist\{#__exe_name__}.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; VC++ 재배포 패키지 파일을 임시 폴더({tmp})에 복사
Source: "VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Code]
function NeedsVCredist: Boolean;
begin
// 예: 레지스트리 키 확인으로 VC++ 2015~2022 x64 런타임이 깔려있는지 판단
// (VC++ 버전에 따라 키/값이 달라질 수 있으므로, 실제 환경에 맞게 수정 필요)
if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64') then
Result := False // 이미 설치됨
else
Result := True; // 미설치 -> 설치 필요
end;
[Icons]
Name: "{group}\{#__program_name__}"; Filename: "{app}\{#__exe_name__}.exe"
Name: "{autodesktop}\{#__program_name__}"; Filename: "{app}\{#__exe_name__}.exe"; Tasks: desktopicon
[Run]
; VC++ 재배포 패키지 설치 (필요할 경우)
Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/install /passive /norestart"; StatusMsg: "VC++ 재배포 패키지 설치 중..."; Check: NeedsVCredist
; 설치 후 프로그램 실행 (원할 경우 주석 해제)
Filename: "{app}\{#__exe_name__}.exe"; Description: "{cm:LaunchProgram,{#StringChange(__program_name__, '&', '&&')}}"; Flags: nowait postinstall skipifsilent