gpt4 book ai didi

c# - Process.Start异常: "The directory name is invalid"

转载 作者:行者123 更新时间:2023-11-30 18:29:46 25 4
gpt4 key购买 nike

我有一个 Process.Start 方法的实现在我的 Windows 7 Professional 64 位开发机器上失败,同时在我们的 Windows 2008 测试环境中工作。

const string CommandDirectory = @"C:\Program Files (x86)\Command";

var process = new Process
{
StartInfo =
{
FileName = string.Format("{1}{0}MyExecutable.exe", Path.DirectorySeparatorChar, CommandDirectory),
RedirectStandardError = true,
RedirectStandardOutput = true,
UseShellExecute = false,
UserName = userName,
Password = securePassword,
Domain = "MYDOMAIN",
},
};

process.Start();

process.Start(); 处,我在开发机器上遇到以下异常:

System.ComponentModel.Win32Exception occurred
HResult=-2147467259
Message=The directory name is invalid
Source=System
ErrorCode=-2147467259
NativeErrorCode=267
StackTrace:
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
InnerException:

我已经尝试了一些事情:

  1. 我已确保我分配给进程的用户帐户对可执行文件所在的路径以及 %systemroot% 位置具有完全权限。我还确保用户在本地安全策略中具有“身份验证后模拟客户端”权限。

  2. 我已尝试将 ProcessStartInfo.WorkingDirectory 显式设置为 CommandDirectory。当我这样做时,可执行文件启动但立即崩溃,没有任何解释。

  3. 我通过删除 UserNamePasswordDomain 属性在我的开发机器上实现了这个功能,这样它使用我的个人凭证。但这对于部署来说并不实用。这让我觉得问题与凭据和权限有关。

谁能告诉我做错了什么?

最佳答案

@Julien Lebosquain 的评论让我找到了答案。我需要以我想模拟的用户身份在本地登录一次。这创建了默认用户文件夹。

据推测,我调用的可执行文件需要写入 AppData 或用户目录的另一个子文件夹。

关于c# - Process.Start异常: "The directory name is invalid",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com