XP Embedded尝试将应用程序作为服务启动

时间:2010-09-13 18:27:26

标签: windows permissions embedded

在我在XP Embedded上运行的应用程序中尝试以管理员身份启动应用程序时,我遇到了很多问题。

该应用程序作为有限用户帐户的外壳运行,并且是触摸屏和无键盘,一个用户命令是运行触摸屏供应商的校准工具。这必须以管理员身份运行。

没问题,我想,将用户和密码信息添加到ProcessStartInfo,一切都应该没问题。不,我得到的错误是:

System.ComponentMode.Win32Exception: The specified service does not exist as an installed service.

通过一些调查,我发现:

  • 我的流程启动代码是正确的:
    • 以受限用户身份运行时,可以在XP Embedded上成功启动任何应用程序
    • 任何应用程序都可以在我自己的笔记本电脑上以管理员身份运行
  • 在XP Embedded上,任何应用程序都被认为是一种服务,包括 notepad
  • 如果我尝试从流程资源管理器中启动程序,我只需获取"Unable to execute process: Access is Denied"

我不是一个XP Embedded专家,所以我非常感谢你的帮助。我怀疑在构建XP图像时已经设置了一个配置设置,该设置专门拒绝访问创建过程,并且我报告的错误实际上是来自不假设XP Embedded错误代码的软件的错误报告。

不幸的是,制作基本影像的人现在不在身边,所以我无法获得当前的设置。

如果有人以前见过这个,请提前致谢!

千电子伏

1 个答案:

答案 0 :(得分:0)

对于记录,事实证明图像中没有安装“Secondary Logon”服务。

我最终到达CreateProcessWithLogonWCreateProcessAsUser的代码最终依赖于此服务的运行。 “指定的服务”错误是现场,但不是我认为的。不知道为什么我从Process Explorer那里得到了那个特殊的错误。