【发布时间】:2020-11-30 17:35:58
【问题描述】:
我正在尝试在位于网络驱动器上的控制台应用程序中运行一个 exe 文件。 所以需要发生的是应用程序需要使用以下代码将网络驱动器映射到驱动器号:
private static void MapDrive()
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "net.exe";
startInfo.Arguments = @"use w: \\<server>\CompanyData\W10 /user:Administrator Password";
process.StartInfo = startInfo;
process.Start();
}
这很好用,并且驱动器号已映射。 现在我面临的问题是在这个映射的驱动器中运行 exe 文件。 我尝试了以下方法,但似乎不起作用:
private static void RunSetup()
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"w:\setup.exe";
process.StartInfo = startInfo;
process.Start();;
}
在启动 exe 文件方面似乎没有任何反应。
我需要知道我在这里做错了什么?
谢谢
【问题讨论】:
-
尝试将
FileName直接设置到安装程序。此外,除非安装程序会自动运行静默安装,否则您可能会考虑不为安装程序使用隐藏窗口样式。 -
运行 setup.exe,而不是 cmd.exe。
-
System.Diagnostics.ProcessWindowStyle.Hidden是什么意思 @Keith?