File: sparkle-readme.md

package info (click to toggle)
seafile-client 6.1.8-1~bpo9+1
  • links: PTS, VCS
  • area: main
  • in suites: stretch-backports
  • size: 9,408 kB
  • sloc: cpp: 41,401; ansic: 3,876; python: 253; sh: 206; xml: 17; makefile: 10
file content (39 lines) | stat: -rw-r--r-- 1,308 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
## Setup WinSparkle environment

[WinSparkle](https://github.com/vslavik/winsparkle) 是 Mac 上的 Sparkle 框架在 windows 上的实现,用于软件自动更新.

* 下载 winsparkle 发布包  https://github.com/vslavik/winsparkle/releases/download/v0.5.3/WinSparkle-0.5.3.zip, 并解压
* 把 include 下的文件拷贝到 /usr/local/lib
* 把 Release/winsparkle.dll 拷贝到 /mingw32/bin
* 把 winsparkle.lib 拷贝到 seafile-client 目录下

在编译时需要加上 `BUILD_SPARKLE_SUPPORT` flag:
```sh
cmake -DBUILD_SPARKLE_SUPPORT=ON .
```


## 更新 appcast.xml

winsparkle 根据下载下来的 appcast.xml 中的数据:

- 判断当前是否有更新版本
- 新版本的下载地址
- 新版本的 release notes (展示给用户看)

发布新的版本时,需要更新appcast中的哪些字段:

- pubDate 字段
- enclosure 中新版本的下载地址 url 字段
- enclosure 中新版本的版本号 sparkle:version 字段

### 本地开发时如何搭建一个简单的 server 来让 seafile-client 去获取 appcast.xml

- 将 appcast.example.xml 修改一下
- 然后本地启动一个 nginx 服务器
- 设置 `SEAFILE_CLIENT_APPCAST_URI` 环境变量, 然后启动 seafile-applet.

```sh
export SEAFILE_CLIENT_APPCAST_URI=http://localhost:8888/appcast.xml
./seafile-applet.exe
```