0

我有一个具有自动更新功能的 Worker 服务。只要有可用的更新,它就需要在管理员模式下调用 Installer.exe,这是一个控制台应用程序(引用项目)。每当我将 Intaller.exe 作为独立控制台应用程序运行时,它都会工作,但是当从工作服务调用它时,它甚至不会被调用。

我知道它不起作用的方式是安装程序应用程序的第一个任务是停止工作服务,但它并没有停止。

我尝试在 Installer.exe 和 Worker Service 中包含 app.manifest,以管理员身份运行它们,但这并没有改变任何事情。

这就是我调用安装程序应用程序的方式。

string installerPath = Directory.GetCurrentDirectory() + @"\" + "Installer.exe";
Log.Debug("Installer Path: {0}", installerPath);
var installProcess = new ProcessStartInfo();
installProcess.FileName = installerPath;
installProcess.CreateNoWindow = false;
installProcess.WindowStyle = ProcessWindowStyle.Normal;
installProcess.UseShellExecute = true;
installProcess.Verb = "runas";

Log.Debug("Update process started.This service will shutdown now.");
var process = Process.Start(installProcess);
process.WaitForExit();
process.Close();

我在这里做错了什么?或者不可能做到这一点?

4

0 回答 0