68 lines
3 KiB
Text
68 lines
3 KiB
Text
; Paca(구 Paca) Windows 설치자 (Inno Setup)
|
|
; publish.ps1 이 /DARCH=x64 또는 /DARCH=arm64 로 2회 컴파일 → out/Paca-Setup-<arch>.exe
|
|
; 배포명만 Paca 로 개명 — AppId(GUID)·실행 파일명·데이터 경로는 유지해 기존 설치 업그레이드 호환.
|
|
|
|
#define APP_NAME "Paca"
|
|
#define APP_PUBLISHER "Paca"
|
|
#define APP_EXE "Paca.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=Paca-Setup-arm64
|
|
#else
|
|
; x64 + arm64(x64 에뮬레이션 폴백) 어디서든 설치 가능한 범용 설치자.
|
|
ArchitecturesAllowed=x64compatible
|
|
AppId={{65393C7D-17DC-4B9F-9D0B-F9911092C449}
|
|
OutputBaseFilename=Paca-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
|
|
Name: "gatewayservice"; Description: "모바일 원클릭 연결용 백그라운드 게이트웨이 서비스 자동 시작 (권장)"; GroupDescription: "원격 연결 설정"; Flags: checkedonce
|
|
|
|
[Registry]
|
|
Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "PacaGatewayDaemon"; ValueData: """{app}\{#APP_EXE}"" --gateway-daemon"; Flags: uninsdeletevalue; Tasks: gatewayservice
|
|
Root: HKCU; Subkey: "Software\Classes\paca"; ValueType: string; ValueName: ""; ValueData: "URL:Paca Protocol"; Flags: uninsdeletekey
|
|
Root: HKCU; Subkey: "Software\Classes\paca"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletekey
|
|
Root: HKCU; Subkey: "Software\Classes\paca\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#APP_EXE}"" ""%1"""; Flags: uninsdeletekey
|
|
|
|
[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
|