C# 启动独立进程(程序退出后保持活动状态)
我正在开发一个程序来更新我部门开发的所有其他程序 我希望这个程序能够自我更新,为此我需要将它运行的.exe替换为我从FTP服务器获得的 我试图做的是创建一个批处理文件,终止应用程序的进程,将“新”可执行文件复制到应用程序的路径,然后启动它 问题是,当批处理文件终止进程时,它不会运行其他命令,而是与应用程序一起终止 是否可以以不依赖于我的应用程序的方式运行此进程 这是批处理文件代码:C# 启动独立进程(程序退出后保持活动状态),c#,batch-file,process,C#,Batch File,Process,我正在开发一个程序来更新我部门开发的所有其他程序 我希望这个程序能够自我更新,为此我需要将它运行的.exe替换为我从FTP服务器获得的 我试图做的是创建一个批处理文件,终止应用程序的进程,将“新”可执行文件复制到应用程序的路径,然后启动它 问题是,当批处理文件终止进程时,它不会运行其他命令,而是与应用程序一起终止 是否可以以不依赖于我的应用程序的方式运行此进程 这是批处理文件代码: @ECHO OFF @BREAK OFF taskkill /f /t /im "MyApplication.ex
@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"
您正在通过/t标志 /t终止指定进程及其启动的任何子进程 所以我们有
注意:虽然在应用程序运行期间以这种方式自我更新应用程序并不完全不合理,而且至少非常简单,但在强制终止其他应用程序时,使用这种方法更新其他应用程序可能会很危险,可能导致不一致/部分完成的结果和其他问题,具体取决于这些其他应用程序的健壮性。批处理文件仅用于自我更新,谢谢您的回答,它成功了!:)也许你应该看看自动更新库,比如