C# 如何使用process.start启动setup.exe文件
我有一个最终幻想XIV游戏的免费试用发射器。现在我想通过C#中的windows服务中的process.start启动它。进程成功启动,正如我在windows任务管理器中看到的,但它没有启动安装文件。这是我试过的代码C# 如何使用process.start启动setup.exe文件,c#,C#,我有一个最终幻想XIV游戏的免费试用发射器。现在我想通过C#中的windows服务中的process.start启动它。进程成功启动,正如我在windows任务管理器中看到的,但它没有启动安装文件。这是我试过的代码 try { var process = new Process(); var startInfo = new ProcessStartInfo { WindowStyle = ProcessWindowStyle.Normal, FileName
try {
var process = new Process();
var startInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Normal,
FileName = "cmd.exe",
Arguments = "/C " + setupFile + " /DIR=" + installLocation,
};
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
}
catch (Exception ex)
{
Logger.Log.Error("Error Installing game.", ex);
}
其中setupfile是ffxivsetup_ft.exe的完整路径。请尝试以下代码:
ProcessStartInfo startInfo = new ProcessStartInfo(path);
Process.Start(startInfo);
请尝试以下代码:
ProcessStartInfo startInfo = new ProcessStartInfo(path);
Process.Start(startInfo);
我认为在控制台应用程序中这样做要好得多。从一个服务启动交互进程听起来不像是一个人想要做的事情,而且有一些系统可以阻止它工作。另外,运行应用程序不需要运行cmd.exe。我必须这样做。。上面的代码适用于另一个游戏。我认为问题出在startinfo.arguments上。我认为在控制台应用程序中这样做要好得多。从服务启动交互进程听起来不像是人们想要做的事情,而且有一些系统可以阻止它工作。另外,运行应用程序不需要运行cmd.exe。我必须这样做。。上面的代码适用于另一个游戏。我认为问题出在startinfo.arguments上,我想解释一下为什么这样做可以解决问题,问题是什么?能解释一下为什么这样做可以解决问题,问题是什么吗?