在我的C#WPF应用程序的statup过程中,我正在检查是否需要安装新版本。如果是这样,我想打破当前进程并启动安装程序。安装程序使用NSIS包开发。 问题是有时只出现NSIS安装程序的“用户帐户控制”对话框并安装进程中断。
如何确保每次都执行安装过程?
这是关于应用程序启动的代码。
int[2]
答案 0 :(得分:1)
我唯一的猜测是,在您的进程退出之前,子进程尚未完全启动。允许ShellExecute异步执行其操作。
如果这是原因,那么你应该能够通过在调用this.Shutdown()
之前稍微睡一觉来解决它。也许等待10秒左右?或者在流程上致电WaitForInputIdle(9999)
。或者您可以查看“响应过程”属性吗?