由于自动更新功能可能涉及到一些系统操作,例如:修改注册表、修改配置文件、注册组件等,故一些作者反应自动更新功能比较简陋,所以拓展了自动更新的一些功能,使用内置自动更新(update.exe)时,将按步骤顺序执行所选命令,目前支持的命令请参考下方命令说明。
变量
$FilePath$ = 主程序所在文件夹,包含结尾的“\” 。例如:c:\windows\
$FileName$ = 主程序名,包含后戳。例如:我的程序.exe
$FullPath$ = 主程序完整路径。例如:c:\windows\我的程序.exe
注:主程序为调用自动更新的程序,例如A.exe调用更新程序update.exe,则主程序为A.exe
常用cmd命令
支持大多数cmd命令,需要简单学习一下cmd命令行指令,下方对部分常用cmd命令举例
结束进程:cmd /c taskkill /f /im $FileName$
写注册表:cmd /c reg add "HKEY_LOCAL_MACHINE\...略...\Run" /v "启动" /d "$FullPath$" /f
删除文件:cmd /c del $FilePath$aa.txt
组件注册:cmd /c regsvr32 /s $FilePath$a.dll
针对CMD比较复杂的语法,另有附加命令,如下示例。
配置文件操作
增改:config add 文件名 节名称 项目名 项目值
删除:config del 文件名 节名称 项目名
举例:config add $FilePath$config.ini setting remember true
注:任何参数中包含空格,请使用双百分号替代,例如:张%%三
弹出网址
弹出指定网址:openURL 网址
举例:openURL https://www.huweidun.cn
特别说明
在命令前增加“before空格” 则命令在更新前执行,不加默认在更新后执行,一行一个命令。
举例:
before cmd /c taskkill /f a.exe
before cmd /c taskkill /f b.exe
cmd /c regsvr32 /s $FilePath$a.dll
openURL https://www.huweidun.cn
上述命令集执行流程为:1.关闭程序 -> 2.结束a.exe -> 3.结束b.exe -> 4.执行更新 -> 5.注册dll -> 6.打开网址 -> 7.打开主程序
注:第1步和第7步为固定执行,也就是在执行更新前会结束主进程,更新结束后会打开主进程。