https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo?view=net-5.0
一个程序启用一个外部程序时,如果不设置ProcessStartInfo.WorkingDirectory,则外部程序的工作目录为初代程序的工作目录:
例如,程序A启动程序B,则B的工作目录为A的工作目录,即使A程序退出。
解决方案:程序A启动程序B前,设置程序B的工作目录为它自己的目录,则启动后B的工作目录为自己的目录。
ProcessStartInfo processStartInfo = new ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory + "\AutoUpdate\AutoUpdate.exe"); processStartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + "\AutoUpdate\"; Process.Start(processStartInfo);