我正在通过Process.Start
启动path Process.Start
,但是它在The system cannot find the file specified
中失败了。
链接显示在dir
上,因此它是存在的。
可以是许可吗?
备注:
Start Menu
目录来自动发现的。澄清:
另一方面,这里似乎起作用了:
[Fact]
public void TestIisManager()
{
var path = new FileInfo(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk");
Process.Start(path.FullName);
}
它似乎有点“环境”的基础。
第二项澄清:
发布于 2010-12-02 06:17:44
发现了问题。
WPF应用程序被编译为x86 (所有其他dll都被编译为AnyCPU),当在64位机器上启动一些可执行文件或链接时,它失败了。
将"Platform Target“更改为AnyCPU修复了这个问题。
发布于 2015-01-03 21:19:54
我最近碰到了这个。基于Windows窗体的解决方案,VS2013,x64机。Process.Start()无法通过.lnk文件启动应用程序。使用process,.lnk文件中指定的目标似乎不正确地解析为c:\program (X86).而不是c:\程序文件。我遵循布鲁诺的绝妙建议,但我的目标又一次被标记为"AnyCPU“。
经过一些抓取之后,在VS11+中发现了一个名为的新编译器标志,名为“偏好32位”,默认情况下进行检查。这迫使EXE输出为32位,尽管我的操作系统是64位,平台被设置为AnyCPU。在我取消检查和重新编译之后,问题就解决了。
发布于 2010-11-16 03:34:04
这可能实际上与您的情况无关,但可以通过以下方式启动IIS管理器
Process.Start("inetmgr.exe")
如果您想继续使用快捷方式,如果您使用ProcessStartInfo
启动该进程并将ProcessStartInfo.UseShellExecute
设置为true
,则该快捷方式可能会工作。
https://stackoverflow.com/questions/4193463
复制相似问题