Windows Live ID Добро пожаловать на IT Community 
Регистрация

Стань частью ИТ-сообщества

Хочешь найти своих друзей, коллег или просто интересных людей со схожими интересами в ИТ-области? Не теряй время...

Присоединяйся к нам!

Ilya Bukhman

Вячеслав Васильев

Андрей Вильчинский


Все участники

Как запустить в windows 7 древнее приложение? 

           Многие из нас уже не только попробовали в деле Windows 7, но и сделали ее своей основной рабочей средой. И многие из нас столкнулись с тем, что некоторые нужные приложения не работают в Windows 7. Хорошо если есть новая версия приложения совместимая с Windows 7, а если нет?

В этой статье я покажу, как мной решалась проблема запуска HP ServiceDesk Client 4.5. Если не знаете что это такое, то это не важно. Главное, что он работает на основе MS JVM – это виртуальная машина java от которой Microsoft отказалась еще 2002 году! Не удивительно, что наступил момент, когда MS JVM перестала работать на новой версии операционной системы.

Проблема.

После установки MS JVM и HP ServiceDesk Client 4.5 запускаем клиента и получаем ошибку:

Error:
The following componets are either not present on this machine or have an incorrect version number:

Microsoft ADO DB (Minimal required version: 2.1)

Поиск решения в Интернете

Вариант 1. Установить  Client2008 Проблема: клиент требует SP23  на сервере – у нас этот сервиспак не установлен на сервере http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1268217107851+28353475&threadId=1363263

Вариант 2. Выполнить команду  regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll" Проблема: работает только для Vista  http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1268283970591+28353475&threadId=1366735

Вариант 3.  Найти и заменить в реестре все строки :

 %CommonProgramFiles%\System\ado\msado15.dll на строки с абсолютным путем

 и выполнить команду regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll". http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1268283970591+28353475&threadId=1366735

 Проблема: у меня не заработало и возник вопрос, а не заменять ли строку %CommonProgramFiles(x86)%\System\ado\msado15.dll ? Пробовать не стал, а перешел к следующему варианту

Вариант 4.

Был найден утилитой Руссиновича procmon.exe

При анализе трассы записанной после запуска ServiceDesk Client 4.5 была найдена строка FILE NOT FOUND со значением C:\Program Files (x86)\Hewlett-Packard\OpenView\service desk 4.5\client\%CommonProgramFiles(x86)%\System\ado\msado15.dll

Как видите проблема в том, что MS JVM не верно формирует путь к файлу ADO DB и не может загрузить этот компонент!

Решение было найдено простое: в папке C:\Program Files (x86)\Hewlett-Packard\OpenView\service desk 4.5\client была создана папка с именем  %CommonProgramFiles(x86)% (именно так без подстановки значения!), в ней папка System, в ней папка ado и затем в нее скопирована msado15.dll, которая расположена по пути  %CommonProgramFiles(x86)%\System\ado\msado15.dll (тут уже выполняется подстановка!)

Теперь при запуске клиента ServiceDesk Client 4.5 он находит нужную dll, успешно загружается и прекрасно работает под Windows 7 RTM. Ура!

Вот так с помощью утилиты procmon.exe мы добились совместимости очень древнего приложения с Windows 7. Если у вас возникла проблема с каким-либо приложением в Windows 7, не отчаивайтесь – скорее всего решение можно найти, и существует целый ряд способов, один из которых я только что описал.

Читать далее...

Опубликовано 11 марта 2010 г. 12:08 в Илья Сазонов (from Windows Live)

Рейтинг0
Просмотров: 1152
Ответов: 0

Комментарий

 
Комментариев нет
Анонимные комментарии не разрешены
RSS

Блог

Календарь

«Март 2010 г.»
ПнВтСрЧтПтСбВс
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

Категории

Синдикация

Виртуальные сообщества

Сообщества сайтов (тэгами)