Большая проблема
В организации, где я работаю, система управления (модульное приложение, созданное другой компанией) была разработана в 97/98 году на VB и никогда не мигрировала на другую более развитую платформу разработки, такую как VB.NET. Это приложение (32 бит) работало корректно на Windows 7, как 32-, так и 64-битной.
Теперь, по понятным причинам безопасности, нам приходится устанавливать эту систему на Windows 10, и вот несколько проблем:
- Без совместимости с Windows 7,основное приложение запускает подприложения с другими кнопками, как если бы они были модулями.Бывает, что некоторые из этих подприложений выбрасываютОшибка выполнения «53»: файл не найденбез указания какой именно dll отсутствует. Другие подприложения не открываются.Конечно, мы уже проверили, что библиотеки зарегистрированы в
regsvr32
. - Совместимость с Windows 7,Ошибка выполнения «53» вроде бы исчезает, но затем программа выдает предупреждение (например,предсказанныйпредупреждение, учитывая, что он представлен на языке, отличном от английского),отметив, что не удалось скопировать некоторые файлы, которые необходимо обработать, в специальную папку
UserProfile
,добавление в качестве детали«Ошибка выполнения «52»: Неверное имя файла или номер».
Что я пробовал?
Я пробовал запустить приложение на Windows 10 32 и 64 бит. В обеих версиях программа не работала, а в 32-битной версии она, кажется, работает даже хуже.
Я также попытался разобрать код и выяснил, что ошибка возникает при решении какого-то маршрута, связанного со специальными папками (как минимум
ProgramFiles
иUserProfile
).Я провел собственное исследование и подозреваю, что это может быть связано с некоторымипроблема с оболочкой и архитектурой, как показано в этой теме, Так как приложение использует оболочку для разрешения специальных папок. Однако оно разрешает пути этих папок правильно.
У меня есть большое подозрение, что это связано с запуском приложения в более высоком режиме, который я пытался запустить в режиме администратора и получить разрешения специальных папок. Но я думаю, что мне не хватает какой-то конфигурации.
Я серьезно рассматриваю возможность виртуализации Windows 7 в Windows 10, пока программа не обновится,как здесь предложено, но я хочу использовать это как последний шанс.
Честно говоря, я застрял.Есть идеи?
ПД: Пожалуйста, избегайте очевидных ответов на стиль«Ваша организация должна платить за лучшее программное обеспечение»; Я работаю в ИТ-отделе, и нам пока не удалось отвязать базы данных от этого уродливого программного обеспечения для управления; не говоря уже о том, чего нам стоит убедить начальство в необходимости изменений.
решение1
По моему опыту, не было никаких конкретных проблем с Windows 10, которые изначально вызывали бы проблемы, отличные от проблем с Windows 7. Очевидно, что приложения могут различаться, так что это может быть не всегда так; но я бы в первую очередь искал проблемы с установкой или конфигурацией, а не прямую совместимость.
Ошибки 52/53 могут быть: разрешения? Сопоставления дисков? Я бы рекомендовал запустить ваше приложение наМонитор процессаи посмотрите, сможете ли вы обнаружить, чего не хватает/чего не удалось найти с помощью этого инструмента.
решение2
-Запустите его от имени администратора.
-Установите его в созданную вами папку.
-Сделаться владельцем всех его подпапок.
Многие приложения VB6 даже не имеют разрешения на доступ к своим собственным папкам в Windows 10.
Попробуйте набор инструментов для обеспечения совместимости приложений MS