VB 6.0 на терминальном сервере запускает установщик Windows «Подготовка к установке» для пользователей без прав администратора - PullRequest
0 голосов
/ 03 марта 2009

Может показаться, что это вопрос ИТ, но большинство ИТ-специалистов, которых я спрашивал, не могли мне помочь. Там, где я работаю, у нас есть сервер Windows 2003 , где несколько разработчиков подключаются через RDP. Мы понизили привилегии некоторых из них (они были админами). И теперь, когда они запускают Visual Basic 6.0 , они получают диалоговое окно «Подготовка к установке» установщика Windows. Он исчезает примерно через 2 минуты, но это раздражение и пустая трата времени. Я попробовал несколько вещей, включая переименование msi.dll в system32 и в dllcache, предоставляя разработчикам полный контроль над реестром и c: \ Program Files , но, похоже, ничего не работает.

Любая помощь будет оценена.

Спасибо

Нельсон Мармол

Ответы [ 4 ]

1 голос
/ 03 марта 2009

Я бы попробовал изменить способ запуска VB. Сделайте ссылку на vb6.exe и используйте ее вместо существующей ссылки, созданной установщиком.

0 голосов
/ 27 апреля 2009

Переименование / уничтожение msi.dll не является решением таких проблем, это просто маскирует проблему.

Обычно есть две возможные причины:

  1. Некоторые диски в терминальном сервере, недоступные для непривилегированных пользователей - помогают разрешить доступ на чтение к корневой папке диска;

  2. Какой-то неправильно установленный компонент (в прошлый раз для меня это был mscomctl32.ocx), что обнаруживается при расследовании журналов событий (хотя обычно записывается только GUID отсутствующего компонента, не всегда легко найти, что такое настоящий файл отсутствует / неправильно зарегистрирован).

0 голосов
/ 27 апреля 2009

Ни одно из представленных здесь решений не устранило проблему. Спасибо за вашу помощь. После еще одного исследования я нашел следующие шаги в статье, и это устранило проблему: 1) Перейдите в папку C: \ Windows \ System32 и найдите msi.dll.

2) Переименуйте msi.dll в любое другое имя.

3) Перейдите в папку C: \ Windows \ System32 \ dllcache и переименуйте msi.dll тоже.

Если вы не сделали этого шага, msi.dll в папке System32 будет автоматически воссоздан.

Если вы не можете найти эту папку dllcache, вам может потребоваться изменить свойство в параметрах папки.

В проводнике Windows -> Перейти в меню Сервис -> Выбрать параметры папки -> Щелкните вкладку «Вид» -> Снимите флажок « Скрыть защищенные файлы операционной системы (рекомендуется) ».

4) Запустите VB6, и теперь вы можете запустить VB6 без получения сообщения об ошибке.

5) Переименуйте файл в msi.dll в папке System32 и в папку dllcache .

0 голосов
/ 03 марта 2009

Запустите ProcessMonitor на сервере, настройте фильтр для входа определенного пользователя, а затем заставьте его войти в систему как обычно. Это может показать, какие разрешения отсутствуют при попытке доступа к определенному файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...