终端服务器中的VB 6.0为非管理员用户启动“准备安装”Windows安装程序

时间:2009-03-03 00:53:00

标签: vb6 windows-installer rdp

这似乎是一个IT问题,但我问的大多数IT人员都无法帮助我。 在我工作的地方,我们有一个 Windows 2003服务器,其中有几个开发人员通过RDP连接。我们降低了其中一些人的特权(他们是管理员)。现在,当他们启动 Visual Basic 6.0 时,他们会获得Windows Installer“准备安装”对话框。它在大约2分钟后消失,但这是一种烦恼和浪费时间。我尝试了几个方法,包括在system32和dllcache中重命名 msi.dll ,让开发人员完全控制注册表和 c:\ Program Files ,但似乎没有任何效果。

任何帮助都将不胜感激。

由于

Nelson Marmol

4 个答案:

答案 0 :(得分:1)

我会尝试改变他们启动VB的方式。链接到vb6.exe并使用它来代替安装程序创建的现有链接。

答案 1 :(得分:0)

在服务器上启动ProcessMonitor,为特定用户登录设置过滤器,然后让他们正常登录。这可能会向您显示尝试访问特定文件时失败的权限。

答案 2 :(得分:0)

重命名/杀死msi.dll不是导致此类问题的解决方案,这只会掩盖问题。

通常有两种可能的原因:

  1. 终端服务器中的某些驱动器(非特权用户无法访问)有助于允许对此驱动器根文件夹进行读取访问;

  2. 一些安装不正确的组件(上次对我来说是mscomctl32.ocx),什么是discoverealble调查事件日志(虽然通常只记录缺少组件的GUID,但找到真正的文件并不总是很容易遗失/错误注册)。

答案 3 :(得分:-1)

此处提供的解决方案均无法解决问题。谢谢你的帮助。经过一些研究,我在一篇文章中找到了这个步骤,这解决了问题: 1)转到C:\ Windows \ System32文件夹,然后查找msi.dll。

2)将msi.dll重命名为任何其他名称。

3)转到C:\ Windows \ System32 \ dllcache文件夹,并重命名 msi.dll

如果您不执行此步骤,将自动重新创建System32文件夹中的msi.dll。

如果找不到此dllcache文件夹,则可能需要更改“文件夹”选项中的属性。

在Windows资源管理器中 - >转到“工具”菜单 - >选择文件夹选项 - >点击查看标签 - >取消选中“隐藏受保护的操作系统文件(推荐)”选项。

4)启动VB6,现在您可以在不收到错误消息的情况下启动VB6。

5)将文件重命名为System32文件夹中的 msi.dll dllcache 文件夹。