由于自动更新功能可能涉及到一些系统操作,例如:修改注册表、修改配置文件、注册组件等,故一些作者反应自动更新功能比较简陋,所以拓展了自动更新的一些功能,使用内置自动更新(update.exe)时,将按步骤顺序执行所选命令,目前支持的命令请参考下方命令说明。
$Path$ = 主程序所在文件夹,包含结尾的“\” 。例如:c:\windows\
$FileName$ = 主程序名,包含后戳。例如:我的程序.exe
$FullPath$ = 主程序完整路径。例如:c:\windows\我的程序.exe
注:主程序为调用自动更新的程序,例如A.exe调用更新程序update.exe,则主程序为A.exe
结束进程:process kill 进程名
举例:process kill 我的软件附加进程.exe
用途:如果软件有多个进程,而多余进程未终止,则自动更新替换会失败。
注:无需输入路径,相同名称无需添加多条命令,默认杀掉所有同名进程。
注:如进程名包含空格,请使用双百分号替代,例如:abc%%def.exe
新增:regedit add 路径 参数值
修改:regedit update 路径 参数值
删除:regedit delete 路径
举例:regedit add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\我的软件自启动注册表 $FullPath$
注:如路径或参数值中包含空格,请使用双百分号替代,例如:C:\Program%%Files\
新增:config add 文件名 节名称 项目名 项目值
修改:config update 文件名 节名称 项目名 项目值
删除:config delete 文件名 节名称 项目名
举例:config add $Path$config.ini setting remember true
注:文件名可以为绝对路径或相对路径,如使用相对路径,请加上反斜杠(\),如:\config.ini
注:任何参数中包含空格,请使用双百分号替代,例如:张%%三
组件注册:regsvr32 add 文件名
取消注册:regsvr32 delete 文件名
举例:regsvr32 add $Path$abc.dll
注:不支持相对路径,只能使用绝对路径。
注:如路径中包含空格,请使用双百分号替代,例如:C:\Program%%Files\abc.dll
弹出指定网址:openURL 网址
举例:openURL https://www.huweidun.cn
在命令前增加“before空格” 则命令在更新前执行,不加默认在更新后执行,一行一个命令。
举例:
before process kill a.exe
before process kill b.exe
regsvr32 add $Path$c.dll
openURL https://www.huweidun.cn
上述命令集执行流程为:1.关闭程序 -> 2.结束a.exe -> 3.结束b.exe -> 4.执行更新 -> 5.注册dll -> 6.打开网址 -> 7.打开主程序
注:第1步和第7步为固定执行,也就是在执行更新前会结束主进程,更新结束后会打开主进程。
推荐使用阿里云、腾讯云等大厂家的服务器,各种优惠后价格很低,关键是服务器稳定性高,很少有宕机情况。