2

我在 Delphi 2010 中开发了一个从事务队列读取 XML 数据的应用程序。如果队列是本地或远程的,它工作正常,我不必在这两种情况下设置权限。

现在我必须将该应用程序转换为 Windows 服务。我将相同的应用程序复制并粘贴到服务代码中,但是当我尝试读取队列时,我收到“拒绝访问”错误。我正在本地机器上进行测试。

有人说这是权限问题。我在 Stack Overflow 中找到了一些针对相同问题的帖子,但我没有找到解决方案。

有任何想法吗?我也在使用 Windows 7。

4

1 回答 1

1

如果您在本地运行该应用程序,则您是在您的 Windows 登录凭据下运行它。默认情况下,服务是在不同的用户帐户下启动的,该用户帐户的权限可能与您的帐户不同。

调出服务管理器(start->services.msc),在列表中找到您的服务,右键单击它并选择属性。然后选择登录选项卡并将其更改为特定的帐户名/密码。(使用您的帐户名/密码。)然后您将使用相同的凭据执行代码,因此您的访问被拒绝错误应该消失。

于 2012-11-17T04:40:01.620 回答