Как запустить в 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)\HewlettPackard\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, не отчаивайтесь – скорее всего решение можно найти, и существует целый ряд способов, один из которых я только что описал.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: