C# 更新程序的问题
答案:2 悬赏:70 手机版
解决时间 2021-02-11 01:15
- 提问者网友:最美的风景
- 2021-02-10 08:48
就是主窗体打开然后检测更新并且下载,然后把主窗体关闭删除替换为更新后的。用dll实现。
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-02-10 09:14
C/S架构的自动更新,说白了就是 下载文件、替换文件。
如果你有计算机常识,那么应该知道,一个程序是不可能删除自己的,也不可能在一个文件正在运行的时候对他进行删除操作。
所以,绝不部分自动更新都是通过另外一个程序来控制,即自动更新程序
流程是:主程序启动、检查版本=> 需要更新=>主程序打开更新程序=>主程序关闭=>更新程序下载文件、替换、删除=>更新程序打开主程序=>更新程序关闭=>完成更新。
所以DLL的方式在理论上就不成立,
只有一种情况,就是主程序不需要更新,只更新dll或者资源文件, 这种情况下是可以直接把下载、覆盖等代码写在一个程序里的。
如果你有计算机常识,那么应该知道,一个程序是不可能删除自己的,也不可能在一个文件正在运行的时候对他进行删除操作。
所以,绝不部分自动更新都是通过另外一个程序来控制,即自动更新程序
流程是:主程序启动、检查版本=> 需要更新=>主程序打开更新程序=>主程序关闭=>更新程序下载文件、替换、删除=>更新程序打开主程序=>更新程序关闭=>完成更新。
所以DLL的方式在理论上就不成立,
只有一种情况,就是主程序不需要更新,只更新dll或者资源文件, 这种情况下是可以直接把下载、覆盖等代码写在一个程序里的。
全部回答
- 1楼网友:一把行者刀
- 2021-02-10 10:51
签名的问题
一、项目的属性->signing选项->sign the clickonce manifests 勾去掉.编绎通过.
二、手工打开 *.csproj ,删除下面四句:
...
...
...
...
删除后就可以正常编译了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯