以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发布后局域网升级问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160400)

--  作者:z769036165
--  发布时间:2021/2/1 10:56:00
--  发布后局域网升级问题
已经发布的应用,如果后面在开发程序中添加DLL文件,发布后,已经在使用的程序通过局域网自动升级无法把最新的DLL升级过去,发布的update.txt中我修改了软件版本时间加了1天还是不行。
[此贴子已经被作者于2021/2/1 10:57:25编辑过]

--  作者:有点蓝
--  发布时间:2021/2/1 11:02:00
--  
如果小版本更新需要把dll文件更新到publish里面,可以自己写代码复制到publish里面,到beforeopenproject事件把文件复制到主程序目录中,如:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=116384&skin=0
--  作者:z769036165
--  发布时间:2021/3/6 10:52:00
--  
用上面的方法不行,
原程序升级后,他就不执行beforeopenproject里面的代码,我加了个弹窗,都不出来

--  作者:有点蓝
--  发布时间:2021/3/6 11:23:00
--  
升级后需要重启程序
--  作者:z769036165
--  发布时间:2021/3/6 11:40:00
--  
就是重启之后不执行beforeopenproject里面的代码,弹窗也不出来
HySql.DB.ConfigPath = ProjectPath
主要是这段代码,好像优先级很高,他在项目中比弹窗优先执行,哪怕代码MessageBox.Show放在他前面


--  作者:有点蓝
--  发布时间:2021/3/6 11:57:00
--  
beforeopenproject事件还不存在ProjectPath,所以这个事件就已经出错了

http://www.foxtable.com/webhelp/topics/1615.htm

Dim s As String = FileSys.GetParentPath(e.File)
HySql.DB.ConfigPath = s

--  作者:z769036165
--  发布时间:2021/3/6 13:39:00
--  
HySql.DB.ConfigPath = ProjectPath这段代码是放在AfterOpenProject里面的,没在beforeopenproject里,
之前没写清楚,beforeopenproject写的是照2楼的方式写的移动dll的代码



--  作者:有点蓝
--  发布时间:2021/3/6 13:45:00
--  
那么不可能会影响beforeopenproject,beforeopenproject执行的时候AfterOpenProject还没有触发。

自行调试一下,看beforeopenproject那一句代码执行有问题

--  作者:z769036165
--  发布时间:2021/3/6 14:25:00
--  
beforeopenproject里面第一行就是MessageBox.Show(1)第一行就触发不了
而这段HySql.DB.ConfigPath = ProjectPath代码是在AfterOpenProject里面的,先报这个HySql.dll不存在的错误,所以才觉得有问题
[此贴子已经被作者于2021/3/6 14:26:51编辑过]

--  作者:有点蓝
--  发布时间:2021/3/6 15:42:00
--  
AfterOpenProject完整代码发上来看看