В моей компании есть приложение VB6 с использованием Crystal Reports 7, которое клиент попросил установить на 32-разрядной версии Windows 7. В настоящее время он установлен на компьютерах под управлением Windows XP 32 бит SP2 на клиенте. Соединение с БД выполняется с помощью экземпляра ODBC для SQL Server 2000 на другом сервере.
В Windows 7 установка работает нормально, однако при попытке открыть приложение появляется ошибка.
Я рассмотрел следующее:
- Регистрация всех файлов dll и ocx с помощью regsvr32. Некоторые не будут регистрироваться, поскольку они либо уже зарегистрированы, либо указано следующее сообщение "Убедитесь, что" [имя].dll "является допустимым DLL или OCX файлом, а затем повторите попытку". Я прочитал эту тему форума относительно этого: http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
- Отслеживает открытие приложения с помощью приложения ProcessMonitor, чтобы попытаться определить, есть ли отсутствующий файл dll или ocx - это, похоже, не так.
- Просмотрел приложение в соответствии с этот список, и ничто не противоречит этим рекомендациям.
Я заметил два элемента в базе знаний, которые относятся к этому
- http://support.microsoft.com/kb/281848 - comdlg32.ocx в комплекте с приложением - версия 6.0.81.69, а одно в папке system32 на машине dev (бит WinXP 32 бит) - 6.1.97.82, Однако, если это была проблема, то, конечно, она не будет работать в настоящее время?
- http://support.microsoft.com/kb/184898 - Я не уверен, как подтвердить, что это проблема.
Наконец, из-за сложностей мне не разрешено вносить изменения в это приложение. Даже если бы я был, я не программист VB6, просто парень, который получил страшный проект поддержки! Если необходимы изменения кода, тогда мне придется исследовать с помощью режима WinXP.
Обновить. Я получаю ту же ошибку в режиме XP. Это Win XP с виртуальной машиной SP3. Это работает на Win XP SP2 VM, возможно ли что-то в SP3, которое могло бы вызвать это? Или это просто факт, что это режим XP?