我有一个WCF服务,它托管在WinForms应用程序中。此WCF服务调用在Visual Studio 6上用ATL编写的COM组件。这在Windows XP上运行正常。但是,在调用GetFileAttributes时,COM组件在Windows 7上失败。它表示路径不存在,即使它确实存在。它是映射的网络驱动器。我能想到的唯一原因是,托管WCF服务的WinForms应用程序必须右键单击并以管理员身份运行。然后我假设COM组件有效地获得了相同的提升权限,因此,就应用程序而言,登录到计算机的用户下存在的映射驱动器不再存在。
这是一个有效的假设,如果是这样,我有什么选择来解决这个问题?
答案 0 :(得分:1)
在Windows 7(及其等效版本)上,当您以管理员身份运行时,会丢失映射的驱动器。那是因为你基本上切换到另一个登录令牌,网络驱动器只映射到非管理员。
此外,还有一个链接两个令牌的注册表设置(在这些链接上未提及)。关于使用它,请参阅KB article about EnableLinkedConnections,a discussion。