以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]发布后软件自动升级功能请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195729)

--  作者:2900819580
--  发布时间:2025/3/5 9:49:00
--  [求助]发布后软件自动升级功能请教
        If Syscmd.Project.Update(False, False) = False Then \'如果没有升级   
            OpenId = 1
        Else
            Dim batPath As String = "C:\\restart.bat"
            Dim str As String = "@echo off" & vbCrLf 
            str &= "timeout /t 3 /nobreak" & vbCrLf \' 延迟3秒确保进程释放 
            str &= "start " & """" & ProjectFile & """" & vbCrLf 
            str &= "del ""%~f0""" \' 自删除脚本 
            FileSys.WriteAllText(batPath, str, False, Encoding.Default)
            Dim Proc As New Process 
            Process.Start(batPath)
            Application.Exit()
        End If

老师,做了个批处理,但升级完成后有个升级成功的提示,批处理没办法执行。怎么处理

--  作者:有点蓝
--  发布时间:2025/3/5 9:58:00
--  
Dim Proc As New Process 
Proc.StartInfo.WorkingDirectory = "C:\\"
Proc.StartInfo.FileName = batPath
Proc.Start()

--  作者:2900819580
--  发布时间:2025/3/5 11:30:00
--  
@echo off
timeout /t 3 /nobreak
start "C:\\foxtable\\Professional\\foxtable.exe"
timeout /t 1 / nobreak > nul 
del "%~f0"

老师,试过了,是批处理文件不执行,我单独执行它也不可以。
帮忙 看看我那里写错了

--  作者:有点蓝
--  发布时间:2025/3/5 11:48:00
--  
这个我就不懂了,没玩过
--  作者:2900819580
--  发布时间:2025/3/5 14:44:00
--  
老师,那项目发布后
如何获取项目发布后的执行文件Exe的路径,ProjectFile只是得到项目的路径是不对的。

--  作者:2900819580
--  发布时间:2025/3/5 14:50:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:无标题20250305.png
图片点击可在新窗口打开查看

老师,升级完成后可不可以这个弹出对话框取消呀。

--  作者:有点蓝
--  发布时间:2025/3/5 14:56:00
--  
无法取消。也建议升级后彻底关闭项目,再重新打开
--  作者:2900819580
--  发布时间:2025/3/5 15:01:00
--  
但目前用来做大屏展示,没办法用鼠标操作,想让他升级后可以自动启动;
写了批处理文件在升级完成后那里,但就卡在这个对话框,这个对话框必须要关闭才执行升级完成后的命令!


老师,还有没有其它办法可以实现
[此贴子已经被作者于2025/3/5 15:01:16编辑过]

--  作者:有点蓝
--  发布时间:2025/3/5 15:27:00
--  
如果是大版本升级,绝对不可能自动启动的,必须手动打开