在调用EXE的相同进程下执行另一个EXE

时间:2010-10-27 14:21:08

标签: .net windows process appdomain

我在Windows上运行了一个EXE(内置.Net)。当它运行时,它将从服务器获得另一个EXE并在同一进程下执行。 使用Process.Start我可以在下载之后执行服务器EXE,但是这会启动一个新进程,下一步是下载驻留在服务器上的EXE。但我想要一个更好的解决方案。

1 个答案:

答案 0 :(得分:1)

如果下载的可执行文件是.NET应用程序,请参阅AppDomain.ExecuteAssembly

  1. 不要使用第二个appdomain。只需使用AppDomain.Current.ExecuteAssembly。
  2. 在启动第二个应用程序之前,不要调用任何WinForm函数。例如,不要创建任何窗口。
  3. 如果需要创建窗口,请在执行的应用程序运行后通过将事件处理程序附加到Application.Idle事件来创建它们。加载应用程序并启动WinForms消息循环时,将引发此事件。在这里,您可以通过Form.OpenForms创建窗口或访问应用程序的窗口。