Files
dsh-desktop/setup/setup-online.iss

69 lines
3.0 KiB
Plaintext

#pragma charset utf-8
; DeepSeek Harness desktop client - online installer
#define MyAppName "DeepSeek Harness"
#define MyAppVersion "1.0.1"
#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;