- setup-online.iss:安装应用+依赖(winget/node/npm)+ 卸载支持 + 快捷方式 - ChineseSimplified.isl:官方简体中文语言文件
69 lines
3.0 KiB
Plaintext
69 lines
3.0 KiB
Plaintext
#pragma charset utf-8
|
|
; DeepSeek Harness desktop client - online installer
|
|
#define MyAppName "DeepSeek Harness"
|
|
#define MyAppVersion "1.0.0"
|
|
#define MyAppPublisher "VanuSystems"
|
|
#define MyAppExeName "dsh-app.exe"
|
|
|
|
[Setup]
|
|
AppId={{B4E7A9C2-3F51-4D8A-9C6B-2E1A5F7D8E90}
|
|
AppName={#MyAppName}
|
|
AppVersion={#MyAppVersion}
|
|
AppPublisher={#MyAppPublisher}
|
|
DefaultDirName={localappdata}\DeepSeekHarness
|
|
DisableProgramGroupPage=yes
|
|
PrivilegesRequired=lowest
|
|
OutputDir=output
|
|
OutputBaseFilename=DeepSeekHarness-Setup
|
|
Compression=lzma2
|
|
SolidCompression=yes
|
|
WizardStyle=modern
|
|
SetupIconFile=dsh.ico
|
|
UninstallDisplayIcon={app}\dsh.ico
|
|
UninstallDisplayName=DeepSeek Harness
|
|
ArchitecturesAllowed=x64compatible
|
|
ArchitecturesInstallIn64BitMode=x64compatible
|
|
ChangesEnvironment=no
|
|
|
|
[Languages]
|
|
Name: "chinesesimplified"; MessagesFile: "ChineseSimplified.isl"
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "附加任务:"; Flags: unchecked
|
|
|
|
[Files]
|
|
Source: "app\dsh-app.exe"; DestDir: "{app}\app"; Flags: ignoreversion
|
|
Source: "app\Microsoft.Web.WebView2.Core.dll"; DestDir: "{app}\app"; Flags: ignoreversion
|
|
Source: "app\Microsoft.Web.WebView2.WinForms.dll"; DestDir: "{app}\app"; Flags: ignoreversion
|
|
Source: "app\WebView2Loader.dll"; DestDir: "{app}\app"; Flags: ignoreversion
|
|
Source: "app\src\dsh-app.cs"; DestDir: "{app}\app\src"; Flags: ignoreversion
|
|
Source: "app\src\app.manifest"; DestDir: "{app}\app\src"; Flags: ignoreversion
|
|
Source: "dsh.ico"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "README.md"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "uninstall.vbs"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "register-uninstall.ps1"; DestDir: "{app}"; Flags: ignoreversion
|
|
|
|
[Icons]
|
|
Name: "{group}\{#MyAppName}"; Filename: "{app}\app\{#MyAppExeName}"; IconFilename: "{app}\dsh.ico"
|
|
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\app\{#MyAppExeName}"; IconFilename: "{app}\dsh.ico"; Tasks: desktopicon
|
|
|
|
[Run]
|
|
Filename: "{cmd}"; Parameters: "/c ""winget install --id OpenJS.NodeJS.LTS -e --accept-source-agreements --accept-package-agreements"""; StatusMsg: "正在安装 Node.js..."; Flags: runhidden waituntilterminated; Check: IsNodeMissing
|
|
Filename: "{cmd}"; Parameters: "/c ""set PATH=%PATH%;C:\Program Files\nodejs;%APPDATA%\npm&& npm config set registry https://registry.npmmirror.com && npm install -g @deepseek-ai/dsh"""; StatusMsg: "正在安装 DeepSeek Harness 后端..."; Flags: runhidden waituntilterminated; Check: IsDshMissing
|
|
Filename: "{app}\app\{#MyAppExeName}"; Description: "启动 {#MyAppName}"; Flags: nowait postinstall skipifsilent
|
|
|
|
[UninstallRun]
|
|
Filename: "taskkill"; Parameters: "/F /IM dsh-app.exe"; Flags: runhidden
|
|
Filename: "taskkill"; Parameters: "/F /IM node.exe"; Flags: runhidden
|
|
|
|
[Code]
|
|
function IsNodeMissing: Boolean;
|
|
begin
|
|
Result := not FileExists(ExpandConstant('{pf64}\nodejs\node.exe'));
|
|
end;
|
|
|
|
function IsDshMissing: Boolean;
|
|
begin
|
|
Result := not FileExists(ExpandConstant('{userappdata}\npm\node_modules\@deepseek-ai\dsh\lib\bin.js'));
|
|
end; |