Подводные камни режима совместимости Windows

У нас есть приложение VB6, которое находится в процессе перехода с Windows XP на Windows 7, и мы столкнулись с несколькими проблемами. Некоторые из этих проблем исчезнут, если мы установим режим совместимости приложения на Windows XP (пакет обновления 3).

Мне интересно, является ли просто запуск нашего приложения в режиме совместимости хорошим решением или нет. Я занимался поиском в Google и не нашел ничего, что подразумевало бы обратную сторону использования режима совместимости. Но большинство людей используют его для приложений, которые они не разрабатывают.

Долгосрочная цель состоит в том, чтобы заменить весь код VB6 на C#, но это займет время. Возможно, использование режима совместимости при замене VB6 - это не плохо.

Кто-нибудь имел опыт разработки приложения и его преднамеренного запуска в режиме совместимости? Моя интуиция говорит, что это плохая идея, но я не могу найти никаких доказательств против ее использования.

2 ответа

Существуют потребительские приложения (режим "плохой идеи") и приложения Line Of Business - вы делаете то, что вам нужно. Вы контролируете окружающую среду.

Это конкретные вещи, которые делает WinXPSP2 (у меня нет опции SP3 в Vista).

DirectXVersionLie
ElevateCreateProcess
EmulateSorting
EnableLegacyExceptionHandlinginOLE
FailObsoleteShellAPIs
GlobalMemoryStatus2GB
HandleBadPtr
HardwareAudioMixer
LoadLibraryCWD
NoGhost
RedirectMP3Codec
VirtualRegistry
WinXPSP2VersionLie

Хорошее предположение, что ваше приложение должно работать с повышенными правами (# 2 в списке выше).

Кстати, если запустить процесс, он начинает его нормально, и если (конечная функция, которая это делает) createprocess завершается неудачно с ElevationRequired, он перезапускает его с повышенными правами.

У меня есть старое приложение vb6, которое мне недавно пришлось заставить работать на win7 64 bit. Работа в режиме XP была частью решения. У меня были другие проблемы со старым установщиком, и мне нужно было запустить regsvr32.exe в windows\sysWOW64\ с командной строкой с повышенными правами. Мне нужно было войти в систему как администратор, чтобы установить, просто запустив установщик, так как администратор не работал. Потребовалось 45 минут или около того, чтобы зарегистрировать компоненты, но в итоге все нормально. Надеюсь, это поможет. ура Дэйв

Другие вопросы по тегам