exe程序自动更新
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了exe程序自动更新,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2273字,纯文字阅读大概需要4分钟。
内容图文
![exe程序自动更新](/upload/InfoBanner/zyjiaocheng/600/a41530a643964ef3bbf6156d08a2b3be.jpg)
exe文件自动更新
思路逻辑
1.在客户端(用户)存在某exe文件 及一个.ini文件
2.在公网服务器某路径下存放该exe文件及.ini文件
3.
在客户端运行exe文件,取得本地的.ini中记录的版本号
并取得公网服务器该程序路径下的.ini记录的版本号
对比
4.若有更新则进行程序更新操作(脚本中创建一个更新的bat脚本)
拷贝更新程序及当前版本的.ini文件替换本地文件
运行本地新版本的exe程序
5.若无更新则 运行本地版本的exe程序.
def update_func(target_path,exe_name,ini_name):
import configparser
import sys,os
cwd_path = os.path.abspath(os.path.dirname(sys.argv[0]))
os.chdir(cwd_path)
source_ini = cwd_path+'/'+ini_name
target_ini = target_path+'/'+ini_name
if os.path.exists(source_ini):
pass
else:
print("is not exists {},exit!".format(source_ini))
sys.exit(-1)
if os.path.exists(target_ini):
pass
else:
print("is not exists {},exit!".format(target_ini))
sys.exit(-1)
config = configparser.ConfigParser()
config.read(source_ini)
source_version = config['select']['version']
config.read(target_ini)
target_version = config['select']['version']
# print("source_version = ",source_version)
# print("target_version = ",target_version)
if source_version != target_version:
print("需要更新")
bat_script = open("bat_script.bat",'w')
line_list = "@echo off\n"
line_list += "if not exist " + target_path + '\\' + exe_name + " exit \n" #判断是否有新版本的程序,没有就退出更新。
line_list += "echo 正在更新至最新版本...\n"
line_list += "timeout /t 5 /nobreak\n" #等待10秒
line_list += "del " + os.path.realpath(cwd_path+'\\' + exe_name) + "\n" #删除旧程序
line_list += "copy " + target_path +'\\' + exe_name + " " + cwd_path + '\\' + exe_name + '\n' #复制新版本程序
line_list += "copy " + target_path +'\\' + ini_name + " " + cwd_path + '\\' + ini_name + '\n' #复制新版本程序
line_list += "echo 更新完成,正在启动...\n"
line_list += "timeout /t 5 /nobreak\n"
line_list += "start " + exe_name + "\n" #"start 1.bat\n"
line_list += "exit"
bat_script.write(line_list)
bat_script.close()
os.system('start bat_script.bat') #显示cmd窗口
else:
#print("软件没有更新")
os.system('start {}'.format(exe_name))
if __name__ == '__main__':
target_path = r'\\t-qa-tfstapp\software\TFS\package_update'
exe_name = 'sql_check_koss.exe'
ini_name = 'sql_check_koss.ini'
update_func(target_path,exe_name,ini_name)
内容总结
以上是互联网集市为您收集整理的exe程序自动更新全部内容,希望文章能够帮你解决exe程序自动更新所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。