我有一个用C#编写的Windows服务。此服务产生许多MTA线程。在每个线程中,实例化进程外COM类。我将服务设置为以当前用户身份运行(添加适当的登录凭据)。当服务启动时,它会从任务管理器中显示它正在以我的用户身份运行。如果服务检查本地漫游用户目录,它将按预期返回我的用户目录。当我作为进程外exe运行的COM类执行此检查时,它将返回Windows \ System32 \ Config \ systemprofile \ AppData \ Roaming中的路径。
任何人都可以了解这里发生的事情,更具体地说,我如何让进程外服务器作为服务用户运行。我已经检查了任务管理器,并且根据任务管理器,exe作为与服务相同的用户(在同一会话中)运行。
不确定操作系统是否是一个因素,但我在Vista 32(sp2)和Win7 64(sp1)上看到了这个