releases/build/installer.iss

60 lines
2.1 KiB
Text

; VideoDownloader Windows 설치자 (Inno Setup)
; publish.ps1 이 /DARCH=x64 또는 /DARCH=arm64 로 2회 컴파일 → out/VideoDownloader-Setup-<arch>.exe
#define APP_NAME "VideoDownloader"
#define APP_PUBLISHER "VideoDownloader"
#define APP_EXE "VideoDownloader.exe"
#ifndef APP_VERSION
#define APP_VERSION "1.0.0"
#endif
#ifndef ARCH
#error ARCH must be defined (x64 or arm64) via /DARCH=
#endif
[Setup]
AppName={#APP_NAME}
AppVersion={#APP_VERSION}
AppPublisher={#APP_PUBLISHER}
UninstallDisplayIcon={app}\{#APP_EXE}
DefaultDirName={autopf}\{#APP_NAME}
DefaultGroupName={#APP_NAME}
DisableProgramGroupPage=yes
; per-user 설치 → {autopf} = %LocalAppData%\Programs, UAC 없음
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputDir=..\out
WizardStyle=modern
Compression=lzma2
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64compatible
#if ARCH == "arm64"
; arm64 전용(네이티브). x64 머신에선 거부.
ArchitecturesAllowed=arm64
AppId={{2E0ADFC1-2072-4457-8C50-ECFCEDECAD73}
OutputBaseFilename=VideoDownloader-Setup-arm64
#else
; x64 + arm64(x64 에뮬레이션 폴백) 어디서든 설치 가능한 범용 설치자.
ArchitecturesAllowed=x64compatible
AppId={{65393C7D-17DC-4B9F-9D0B-F9911092C449}
OutputBaseFilename=VideoDownloader-Setup-x64
#endif
[Languages]
Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
; self-contained publish 결과 전체를 앱 디렉터리로 복사
Source: "{#PUBLISH_DIR}\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs ignoreversion
[Icons]
Name: "{group}\{#APP_NAME}"; Filename: "{app}\{#APP_EXE}"
Name: "{group}\{#APP_NAME} 제거"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#APP_NAME}"; Filename: "{app}\{#APP_EXE}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#APP_EXE}"; Description: "{cm:LaunchProgram,{#APP_NAME}}"; Flags: nowait postinstall skipifsilent