【发布时间】:2019-05-06 18:47:41
【问题描述】:
我正在开发一个程序来更新我部门开发的所有其他程序。
我希望这个程序能够自我更新,为此我需要将它正在运行的 .exe 替换为我从 FTP 服务器获取的那个。
我试图做的是创建一个批处理文件来杀死我的应用程序的进程,将“新”可执行文件复制到我的应用程序的路径,然后启动它。
问题在于,当批处理文件终止进程时,它不会运行其他命令,而是与应用程序“一起”被终止。
是否可以以不依赖于我的应用程序的方式运行此进程?
这是批处理文件代码:
@ECHO OFF
@BREAK OFF
taskkill /f /t /im "MyApplication.exe"
rmdir /S /Q "%APPDATA%\DepartmentTools\WorkplaceUpdate\"
mkdir "%APPDATA%\DepartmentTools\WorkplaceUpdate\"
copy "%APPDATA%\DepartmentTools\MyApplication.exe" "%APPDATA%\DepartmentTools\WorkplaceUpdate\MyApplication.exe"
"%APPDATA%\DepartmentTools\WorkplaceUpdate\MyApplication.exe"
【问题讨论】:
-
也许你应该看看自动更新库,比如ClickOnce
标签: c# batch-file process