【发布时间】:2020-05-02 13:18:26
【问题描述】:
所以这个是一个笨蛋。我的 VB6 Windows 应用程序在运行 Windows Server 2019 的虚拟服务器上出现不一致的行为,这是我们的应用程序管理器门户。
此应用程序根据用户通过活动目录组的安全权限列出了用户有权访问的所有 Windows 应用程序。
我的一位同事是我们基础架构团队的一员,对此我进行了测试。他是这个名为 RDS 用户(远程桌面系统用户)的 Windows 组的成员。我也是此 Windows 组的一员,并且我也是此服务器上的本地管理员,以便安装将在此应用程序管理器门户中列出的应用程序。
这是我的同事在启动这个 VB 6 应用程序时的结果:
这是我启动它时的结果:
我尝试的一种方法是清除我的用户目录中AppData\Local\Temp 下的 Temp 目录。然后我收到了这个错误信息:
在我的同事的协助下,我尝试了以下步骤来解决此问题,该同事是我们基础架构团队的一员,但没有成功:
- 如果我的 ID 权限更改为对可执行文件和所有依赖文件所在目录的完全控制权,并收到上面列出的相同问题。
- 已将我的 ID 从本地管理员组中删除,并与我的基础架构同事留在同一个 RDS 用户组中。
我已经为我的同事和我自己的启动可执行文件运行了 Process Monitor,我目前正在查看结果。目前我没有看到任何突出的东西。
我的问题是向小组提出的问题:还有什么我没有在上面列出的需要看的吗?
谢谢。
2020 年 1 月 22 日更新:
通过进程监视器日志,我注意到注册表中有一些有趣的东西,用于我的 AppMan.exe(应用程序管理器门户可执行文件)执行和我同事的 AppMan.exe 执行。
我在 Process Monitor 中放置了一个过滤器,其中 Process Name 等于 AppMan.exe。
我的一些注册表项属于 HKCU,而我的同事在 HKU 下有一些注册表项。
这又是在同一个虚拟服务器上。
这是一个例子。
我的(应用程序导致错误):
RegOpenKey - HKCU\Software\Classes\Local Settings
我同事的(应用程序正在运行):
RegOpenKey - HKU\S-1-5-21-535134994-3874261535-4188770651-24660_Classes\Local Settings
我在注册表中搜索“S-1-5-21-535134994-3874261535-4188770651-24660”,但找不到一个条目。
我是此虚拟服务器的本地管理员。
试图找出是否与此有关。
2020 年 1 月 27 日更新:
查看 VB 6 应用程序后,我发现抛出此错误是因为 INI 文件引用了我可以通过当前不在此服务器上的 AD 组访问的应用程序。哇!!我以为我快疯了。可以关闭此提交。
【问题讨论】:
-
我怀疑您可能会遇到这种情况:stackoverflow.com/questions/54253845/… 如果您使用 32 位图像而仅支持较低的位数,则会出现该问题 - 这似乎因 Windows 版本而异。跨度>
-
还有一些相关/类似的细节:stackoverflow.com/a/54136587/3195477
-
谢谢大家。我会调查这些。令人费解的是为什么它对我的同事通过 RDC 执行它有效,但我在执行时遇到这些错误。如果这发生在我们俩身上,那么尝试一个可能的解决方案就很简单了。你们中有人认为这可能是权限问题吗?
-
@UuDdLrLrSs,您是否遇到过或知道有人从服务器上的远程桌面连接执行 VB6 应用程序对一个用户有效,但同一服务器上的另一个用户通过 RDC 连接遇到错误以上所列。这些链接在这种情况下仍然可行吗?