Inno Setup 6.3 起官方只保留 ChineseSimplified,繁體中文語系需額外下載。 改為以 WITH_TRAD_CHINESE 宏條件啟用,預設只用英文 installer UI, 避免在新版 Inno Setup 上直接 compile error。 這只影響「安裝精靈本身」的語系,應用程式 UI 的 i18n 不受影響。 未來若要帶繁體中文 installer,下載 istrans 檔案後用 iscc /DWITH_TRAD_CHINESE=1 編譯。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
112 lines
5.2 KiB
Plaintext
112 lines
5.2 KiB
Plaintext
; visionA-local Windows installer
|
||
; Inno Setup 6.x compatible
|
||
;
|
||
; 此檔案在 macOS 上只做語法檢視,實際編譯必須在 Windows runner 上跑:
|
||
; iscc installer\windows\visiona-local.iss
|
||
;
|
||
; 前置作業(在 Windows runner 上):
|
||
; 1. make payload-windows — 準備 payload/windows/
|
||
; 2. make wails-windows — build visiona-local/build/bin/visiona-local.exe
|
||
; 3. go build server/ — build payload/windows/bin/visiona-local-server.exe
|
||
; 4. make exe — 執行 iscc 編譯本檔
|
||
;
|
||
; 所有路徑相對於本 .iss 所在目錄 (installer/windows/)
|
||
; 因此 ..\.. 會指回專案根目錄 (local-tool/)
|
||
|
||
#define MyAppName "visionA-local"
|
||
#define MyAppVersion "0.1.0"
|
||
#define MyAppPublisher "Innovedus"
|
||
#define MyAppURL "https://github.com/Innovedus/visiona-local"
|
||
#define MyAppExeName "visiona-local.exe"
|
||
|
||
[Setup]
|
||
; AppId 固定 GUID(產品識別用,未來升級時不可更動)
|
||
AppId={{B7E5C4F3-1234-5678-90AB-CDEF12345678}
|
||
AppName={#MyAppName}
|
||
AppVersion={#MyAppVersion}
|
||
AppPublisher={#MyAppPublisher}
|
||
AppPublisherURL={#MyAppURL}
|
||
AppSupportURL={#MyAppURL}
|
||
AppUpdatesURL={#MyAppURL}
|
||
DefaultDirName={autopf}\visiona-local
|
||
DefaultGroupName={#MyAppName}
|
||
DisableProgramGroupPage=yes
|
||
; 需要管理員權限安裝 WinUSB driver
|
||
PrivilegesRequired=admin
|
||
PrivilegesRequiredOverridesAllowed=dialog
|
||
OutputDir=..\..\dist
|
||
OutputBaseFilename=visiona-local-{#MyAppVersion}-windows-x64
|
||
Compression=lzma2/ultra
|
||
SolidCompression=yes
|
||
WizardStyle=modern
|
||
ArchitecturesAllowed=x64
|
||
ArchitecturesInstallIn64BitMode=x64
|
||
; Windows 10 1809 以上(WinUSB / pnputil 需求)
|
||
MinVersion=10.0.17763
|
||
; 不需要 code signing(使用者決策 Q2=C)
|
||
; 解除安裝時不清使用者 %APPDATA% 資料
|
||
|
||
[Languages]
|
||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||
; 繁體中文語系:Inno Setup 6.3+ 官方只內建簡體中文(ChineseSimplified.isl)
|
||
; 繁體中文需額外從 https://jrsoftware.org/files/istrans/ 下載放到 Languages/
|
||
; 若存在則載入,不存在就只用英文(透過 -d 或環境變數 override 也可)
|
||
; 使用 /DWITH_TRAD_CHINESE=1 並確認 Languages\ChineseTraditional.isl 存在才啟用
|
||
#ifdef WITH_TRAD_CHINESE
|
||
Name: "tradchinese"; MessagesFile: "compiler:Languages\ChineseTraditional.isl"
|
||
#endif
|
||
|
||
[Tasks]
|
||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||
|
||
[Files]
|
||
; ── Wails app binary ──────────────────────────────────────────────
|
||
Source: "..\..\visiona-local\build\bin\visiona-local.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||
|
||
; ── Server binary(Go build,必須在 Windows runner 上 GOOS=windows go build)──
|
||
Source: "..\..\payload\windows\bin\visiona-local-server.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||
|
||
; ── ffmpeg + yt-dlp ───────────────────────────────────────────────
|
||
Source: "..\..\payload\windows\bin\ffmpeg.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||
Source: "..\..\payload\windows\bin\yt-dlp.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
|
||
|
||
; ── Python runtime tarball + wheels ───────────────────────────────
|
||
Source: "..\..\payload\windows\python\python.tar.gz"; DestDir: "{app}\python"; Flags: ignoreversion
|
||
Source: "..\..\payload\windows\wheels\*"; DestDir: "{app}\wheels"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||
|
||
; ── 預置模型與 scripts ────────────────────────────────────────────
|
||
Source: "..\..\payload\windows\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||
Source: "..\..\payload\windows\scripts\*"; DestDir: "{app}\scripts"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||
|
||
; ── WinUSB driver(Kneron KL520/KL720)────────────────────────────
|
||
Source: "..\..\payload\windows\scripts\drivers\kneron_winusb.inf"; DestDir: "{app}\drivers"; Flags: ignoreversion
|
||
|
||
[Icons]
|
||
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
|
||
|
||
[Run]
|
||
; 安裝 WinUSB driver(pnputil 為 Windows 內建)
|
||
Filename: "{sys}\pnputil.exe"; \
|
||
Parameters: "/add-driver ""{app}\drivers\kneron_winusb.inf"" /install"; \
|
||
StatusMsg: "正在安裝 Kneron WinUSB driver..."; \
|
||
Flags: runhidden waituntilterminated
|
||
|
||
; 安裝完畢選擇性啟動 app
|
||
Filename: "{app}\{#MyAppExeName}"; \
|
||
Description: "{cm:LaunchProgram,{#MyAppName}}"; \
|
||
Flags: nowait postinstall skipifsilent
|
||
|
||
[UninstallDelete]
|
||
; 解除安裝時清掉 Python 解壓後的目錄(首次啟動會重建)
|
||
; 但不動 %APPDATA%\visiona-local(使用者資料)
|
||
Type: filesandordirs; Name: "{app}\python\extracted"
|
||
|
||
[Code]
|
||
// 目前保留空殼,未來若要偵測舊版 edge-ai-platform 並建議移除可在此擴充
|
||
function InitializeSetup(): Boolean;
|
||
begin
|
||
Result := True;
|
||
end;
|