- 新增 update 模块:从 dl.shellrs.com 取已签名的更新清单(minisign,签名绑定通道和版本), 按大小和 SHA-256 校验安装包;下载可续传、可换镜像,走系统代理 - 按安装方式安装:macOS 整包交换并核对开发者签名,Windows 静默运行安装程序,Linux 覆盖 AppImage; 开发构建和无法自更新的安装只提示前往下载页 - 设置新增「关于」:版本信息、检查更新、下载进度和「自动检查并下载更新」开关; 新版本就绪后标题栏右上角提示,更新对话框写明重启会中断什么;退出时自动安装,新版本启动后提示已更新 - 数据库拒绝打开更新版本建的库,迁移已有的库之前先备份成 shellrs.db.v<旧版本>.bak - 新增 release workflow 和 packaging 脚本:universal macOS 包签名公证、Inno Setup 安装程序、 AppImage、上传 R2、生成并签名更新清单;新增 CHANGELOG.md - 应用图标放在 assets/logo;开发模式下 macOS Dock 显示 logo,Windows exe 嵌入图标 - 修正 AppImage 里 shellrs 命令链接到临时挂载点;启动时刷新已安装但过期的 Agent skill - 新增清单、验签、下载、各平台安装器和界面的单元测试与 UI 测试
74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
; The Windows setup program: installs ShellRS for the current user, with no
|
||
; administrator rights, under %LOCALAPPDATA%\Programs\ShellRS.
|
||
;
|
||
; iscc /DAppVersion=0.2.0 /DBuildDir=..\..\target\release /O..\..\dist shellrs.iss
|
||
;
|
||
; The same program updates an installed copy: ShellRS downloads the next
|
||
; version's setup and runs it with /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
|
||
; /SP- once it has exited, then starts itself again. AppId must never
|
||
; change, or the update installs a second copy beside the first.
|
||
|
||
#ifndef AppVersion
|
||
#error Pass /DAppVersion=<version>
|
||
#endif
|
||
#ifndef BuildDir
|
||
#define BuildDir "..\..\target\release"
|
||
#endif
|
||
#define IconFile AddBackslash(SourcePath) + "..\..\assets\logo\shellrs.ico"
|
||
|
||
[Setup]
|
||
AppId={{45D9E9F5-84BB-4B09-ABE8-1FFE107ACF96}
|
||
AppName=ShellRS
|
||
AppVersion={#AppVersion}
|
||
AppVerName=ShellRS {#AppVersion}
|
||
AppPublisher=ShellRS
|
||
AppPublisherURL=https://shellrs.com
|
||
AppSupportURL=https://shellrs.com
|
||
AppUpdatesURL=https://shellrs.com/download
|
||
DefaultDirName={autopf}\ShellRS
|
||
DisableDirPage=auto
|
||
DisableProgramGroupPage=yes
|
||
PrivilegesRequired=lowest
|
||
ArchitecturesAllowed=x64compatible
|
||
ArchitecturesInstallIn64BitMode=x64compatible
|
||
OutputBaseFilename=ShellRS-{#AppVersion}-windows-x86_64-setup
|
||
Compression=lzma2/max
|
||
SolidCompression=yes
|
||
WizardStyle=modern
|
||
UninstallDisplayIcon={app}\shellrs.exe
|
||
UninstallDisplayName=ShellRS
|
||
; A running ShellRS is closed through the Restart Manager rather than
|
||
; making the setup fail on files in use.
|
||
CloseApplications=yes
|
||
#if FileExists(IconFile)
|
||
SetupIconFile={#IconFile}
|
||
#endif
|
||
|
||
[Languages]
|
||
#if FileExists(AddBackslash(CompilerPath) + "Languages\ChineseSimplified.isl")
|
||
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"
|
||
#else
|
||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||
#endif
|
||
|
||
[Tasks]
|
||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||
|
||
[Files]
|
||
Source: "{#BuildDir}\shellrs.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||
; The `shellrs` command: 设置 › 外部 CLI copies it onto the PATH.
|
||
Source: "{#BuildDir}\shellrs-cli.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||
|
||
[Icons]
|
||
Name: "{autoprograms}\ShellRS"; Filename: "{app}\shellrs.exe"
|
||
Name: "{autodesktop}\ShellRS"; Filename: "{app}\shellrs.exe"; Tasks: desktopicon
|
||
|
||
[Run]
|
||
; Interactive installs only: an update is restarted by ShellRS's own helper,
|
||
; which waits for this setup to finish.
|
||
Filename: "{app}\shellrs.exe"; Description: "{cm:LaunchProgram,ShellRS}"; Flags: nowait postinstall skipifsilent
|
||
|
||
[UninstallDelete]
|
||
; Files a later version added, which this uninstaller does not list.
|
||
Type: filesandordirs; Name: "{app}"
|