以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 如何做到升级完成后,直接启动主程序  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120444)

--  作者:2900819580
--  发布时间:2018/6/15 17:41:00
--  [求助] 如何做到升级完成后,直接启动主程序

If Syscmd.Project.Update(False,False) = False Then

Forms("登录窗口").Open()

end if

 

使用以上代码升级,每次升级都需要升级两次的,比较麻烦

 

如何做到升级完成后,直接启动主程序,也就是说升级后不需要手动打开程序

[此贴子已经被作者于2018/6/15 19:16:16编辑过]

--  作者:有点甜
--  发布时间:2018/6/15 17:54:00
--  

试试

 

If Syscmd.Project.Update(False,False) = False Then \'如果没有升级

    \'\'其他代码

Else

    Application.restart

End If


--  作者:2900819580
--  发布时间:2018/6/15 19:17:00
--  
以下是引用有点甜在2018/6/15 17:54:00的发言:

试试

 

If Syscmd.Project.Update(False,False) = False Then \'如果没有升级

    \'\'其他代码

Else

    Application.restart

End If

 

老师,经测试没有用,

 


--  作者:有点蓝
--  发布时间:2018/6/15 20:05:00
--  
因为要更新主程序,打开的项目程序属于使用状态是无法更新的,所以狐表必须彻底关闭并重启一次
--  作者:2900819580
--  发布时间:2018/6/15 20:34:00
--  
以下是引用有点蓝在2018/6/15 20:05:00的发言:
因为要更新主程序,打开的项目程序属于使用状态是无法更新的,所以狐表必须彻底关闭并重启一次

也就是是不可以自己打开,对吧!

 

能做一个辅助程序吗?在升级时就启动辅助程序,等升级完了之后就打开主程序,待主程序打开之后就关闭辅助程序!

 

这样的思路是否可行?

 

 


--  作者:有点蓝
--  发布时间:2018/6/15 20:48:00
--  
可以试试,参考:http://www.foxtable.com/webhelp/scr/2495.htm
--  作者:2900819580
--  发布时间:2018/6/15 21:36:00
--  

老师,你那是个Table文件,我是的生成的Exe文件,是不是要用以下代码打开

在发布升级时将辅助程序.exe加入到附件里去,但这样好像不执行!.exe 文件好像离开Publish就不能执行!

 

 

辅助程序这样写,可以吗? 写在计划内容里

Dim sucess As Boolean = False
static mu As new System.Threading.Mutex(True, "主程序.exe", sucess)
If not sucess Then
Else
    Dim Proc As New Process \'定义一个新的Process
    Proc.File = ApplicationPath &  "\\主程序.exe" \'指定要打开的文件
    Proc.Start()
End If

 

主程序这样写:

If Syscmd.Project.Update(False,False) = False Then \'如果没有升级

    \'\'其他代码

Else

        Dim Proc As New Process \'定义一个新的Process
    Proc.File = ApplicationPath & "辅助程序.exe" \'指定要打开的文件
    Proc.Start()

End If

 

[此贴子已经被作者于2018/6/15 21:39:14编辑过]

--  作者:有点蓝
--  发布时间:2018/6/15 21:50:00
--  
7楼的用法自己测试

6楼的帮助请仔细看

重要提示

已经发布的项目,也可以采用上述方法打开。
发布后的项目文件位于Publish目录下的Project子目录下,文件名和原项目文件相同,后缀名为:FoxEx


--  作者:2900819580
--  发布时间:2018/6/16 7:53:00
--  
以下是引用有点蓝在2018/6/15 21:50:00的发言:
7楼的用法自己测试
此方法测试过,不行才将代码发上来的。
6楼的帮助请仔细看

重要提示

已经发布的项目,也可以采用上述方法打开。
发布后的项目文件位于Publish目录下的Project子目录下,文件名和原项目文件相同,后缀名为:FoxEx

 

 Syscmd.Project.Open("D:\\辅助程序\\Publish\\Project\\辅助程序.FoxEx")

 


此主题相关图片如下:无标题.png
按此在新窗口浏览图片
[此贴子已经被作者于2018/6/16 7:54:33编辑过]

--  作者:kaiyu
--  发布时间:2018/6/16 8:47:00
--  

If Syscmd.Project.Update(False,False) =False

else

 If filesys.FileExists(ProjectPath.Replace("project\\","") &  "程序名.exe") = True
        Dim Proc As New Process
        Proc.File =  ProjectPath.Replace("project\\","") &  "程序名.exe"
        Proc.Start()
    Else
        Dim Proc As New Process
        Proc.File = ProjectFile
        Proc.Start()
    End If
end if

这个可以自动打开