以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助:项目更新后自动重启,求代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=73363)

--  作者:qwz405
--  发布时间:2015/8/18 9:45:00
--  求助:项目更新后自动重启,求代码

项目AfterOpenProject使用代码:Syscmd.Project.Update(False,False) 

sql数据库,服务器在局域网中,一直使用正常。

问题:每次完成更新后,需要手动再去开启项目,想通过代码,自动重启项目到登录窗口(输入密码的地方)。

 

 

查看帮助,用了以下的代码,无法实现,请求帮助(代码我放在afteropenproject的更新代码的后面)
Syscmd.Project.Open("D:\\***\\***.exe")   \'*** 安装项目的可运行文件

 

or

 

Syscmd.project.Open(***)   \'*** 项目名称


--  作者:大红袍
--  发布时间:2015/8/18 11:29:00
--  

试试

 

If filesys.FileExists(ProjectPath.Replace("project\\","") &  "MIS.exe") = True     \'MIS.exe是发布后项目的名称
    Dim Proc As New Process
    Proc.File =  ProjectPath.Replace("project\\","") &  "MIS.exe"
    Proc.Start()
Else
    Dim Proc As New Process
    Proc.File = ProjectFile
    Proc.Start()
End If
System.Diagnostics.Process.GetProcessesByName("foxtable")(0).Kill


--  作者:qwz405
--  发布时间:2015/8/18 11:46:00
--  

老师,我把您的代码放在afteropenproject,原先的update更新代码后面。

现在测试源文件,每次打开都要重启一次源文件。发布后的项目才要升级,源文件应该是不需要升级的,所以不应该每次重启。

 

是否要在项目发布后再测试,才能成功?


--  作者:大红袍
--  发布时间:2015/8/18 12:16:00
--  

代码改一下

 

If filesys.FileExists(ProjectPath.Replace("project\\","") &  "MIS.exe") = True     \'MIS.exe是发布后项目的名称
    Dim Proc As New Process
    Proc.File =  ProjectPath.Replace("project\\","") &  "MIS.exe"
    Proc.Start()

    System.Diagnostics.Process.GetProcessesByName("foxtable")(0).Kill
End If


--  作者:qwz405
--  发布时间:2015/8/18 17:09:00
--  

测试结果:

 

1.不影响源文件开启;

 

2.项目发表后,可以正常更新,但没有自动重启项目;

 

3.自己再双击项目重启时,会自动重启,造成软件输入密码 -->重启 -->输入密码 -->重启.....


--  作者:大红袍
--  发布时间:2015/8/18 17:26:00
--  

如果第二项无法自动重启的话,就是自动升级不支持自动重启的功能了。

 

升级完毕以后,就把程序给关闭了。

 

所以没办法。要做,只能脱离自己写代码

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=38980&skin=0

 


--  作者:qwz405
--  发布时间:2015/8/18 21:43:00
--  

谢谢老师。

 

看了例子,难度太大,看不懂,还是用笨办法,双击两下鼠标吧。

 

等哪天有这个实力了,再来弄这个功能吧。