# 【自荐】AutoHotkey 二进制发布与自动更新模板

**URL:** <https://meta.appinn.net/t/topic/47212>\
**Category:** 发现频道\
**Tags:** autohotkey, windows, appinned-monthly\
**Created:** [2023 年9 月 7 日 13:42 UTC](https://meta.appinn.net/t/topic/47212 "2023-09-07T13:42:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![TecNico](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tecnico/32/78882_2.png) [@TecNico](https://meta.appinn.net/u/TecNico)\
**Post date:** [2023 年9 月 7 日 13:42 UTC](https://meta.appinn.net/t/topic/47212/1 "2023-09-07T13:42:56Z")

</div>

> **[GitHub - Nigh/ahk-autoupdate-template: ahk app with autoupdate template](https://github.com/Nigh/ahk-autoupdate-template)**
>
> ahk app with autoupdate template

> 截止发稿时，模板使用的 AHK 二进制版本为 `v2.0.7`

这次给各位 AHK 开发者带来的是一个自动更新模板。使用这个模板，AHK 开发者可以方便的利用 GitHub Release 构建具备自动更新功能的 AHK 二进制发行包。

## 使用方法

在仓库页面点击 [Use this template](https://github.com/Nigh/ahk-autoupdate-template/generate) 即可使用模板创建你的仓库。

- 在 `app.ahk` 中对应位置引入你的程序代码。
- 在 `meta.ahk` 中编辑对应信息。
  - `appName`：软件名称。
  - `version`：版本号。
  - `binaryFilename`：编译为二进制的名称。
  - `downloadFilename`：供下载的zip打包名称。
  - `downloadUrl`：你对应仓库的GitHub的Release下载路径，参照模板中的路径，修改你的用户名和仓库名即可。
  - `update_log`：本次更新的log，会在更新完成后通过`Msgbox`显示给用户。

- 运行 `distribution.ahk`，此脚本会完成发布打包，并将发布文件放置于`dist`目录下。
- 将`dist`目录下的内容发布到你对应GitHub仓库的Release即可完成发布。

由于脚本每日最多检测一次新版本，所以在旧版本用户下一日的首次运行时，即会出现升级提示。电击确认升级即可完成自动升级。

## 工作原理

> 更新模板内置了 ghproxy 镜像地址，在拉取 github 源失败时，会自动尝试从 ghproxy 镜像拉取。

上传到 GitHub Release 的发布文件包含了一个记录了版本号的文本文件。脚本通过读取这个文件并与自身版本号比较可以得知是否有版本更新。

当发现了新版本，确定更新时，将会下载发布包并解压。

包含在发布二进制中的更新器将会使用新版本的二进制替换旧版本二进制并运行。这样就完成了整个更新的流程。

## 结语

希望这个模板能够对各位 AHK 开发者有所帮助。如果喜欢这个项目或者希望这个项目能够帮助更多的人，请给这个项目一个 star 就非常感谢了。

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2023 年9 月 13 日 08:41 UTC](https://meta.appinn.net/t/topic/47212/2 "2023-09-13T08:41:17Z")

</div>

这个有意思啊，AHK 都能自动更新了
