Надеюсь, вы уже видели мою функцию для 64-битной Windows в последнем выпускеПК Pro. И, возможно, вас утешили мои беззаботные заверения в том, что вам не нужно слишком беспокоиться о совместимости приложений. Почти все современное 32-разрядное программное обеспечение должно безупречно устанавливаться и работать в 64-разрядной версии Windows.
Ну, конечно, всякий раз, когда вы пишете что-то подобное, вы напрашиваетесь на проблемы.
как изменить электронную почту учетной записи xbox
Разумеется, когда наш сентябрьский номер появился в газетных киосках, я обнаружил, чтоПК ProВнутренний клиент CMS работал, как вы уже догадались, только на 32-битной Windows. Попытка создать новый обзор с моего 64-битного рабочего стола привела только к неясной ошибке об отсутствии фабрики COM-классов.
Под флагом
Немного покопавшись, вы обнаружили проблему. Какой-то непослушный разработчик написал совершенно корректное 32-битное .NET-приложение, но не пометил его как 32-битный код. Таким образом, 64-разрядная Windows запускала его в 64-разрядном режиме, что приводило к ошибкам, когда программное обеспечение не могло получить доступ к ожидаемым 32-разрядным системным ресурсам.
К счастью, эту проблему легко решить. Microsoft CorFlags Инструмент командной строки - часть .NET Framework - позволяет изменять флаги заголовков исполняемых файлов, включая тот, который указывает, когда приложение должно быть запущено в 32-битном режиме. Установка этого флага для нашего приложения базы данных была простой задачей ввода CorFlags application.exe / 32bit +
А такжездесь- одно 32-битное приложение, отлично работающее в 64-битной Windows. Стоит попробовать, если вы когда-нибудь столкнетесь с подобной проблемой.
где кнопка поиска на пульте дистанционного управления vizio smart tv
В какой папке Program Files?
Раз уж я говорю об этом, то вот еще одна проблема, с которой мы столкнулись, когда начали анализировать ПК с 64-разрядной Vista. В этом случае проблемное программное обеспечение было не кем иным, какПК Proнабор реальных тестов. Вроде все установилось идеально, но когда мы действительно запустили тесты, мы получили ошибки, которые не обнаружены.
Я приступил к отслеживанию проблемы с помощью незаменимого инструмента SysInternals. Монитор процесса И опять же, объяснение оказалось на удивление простым (на самом деле настолько простым, что я почувствовал себя немного глупо из-за того, что сам не понял его).
Не удалось найти различные файлы, потому что в 64-битной Windows папка Program Files зарезервирована только для 64-битных приложений. 32-битные программы устанавливаются в папку с именем Program Files (x86). Наши тестовые сценарии включали жестко запрограммированные пути, которые не выполнялись, потому что наши 32-разрядные приложения находились не на своем обычном месте.
как перенести музыку с компьютера на ipod без itunes
Если вы столкнетесь с подобной проблемой, вы можете легко исправить ее, удалив явные ссылки на C: Program Files и используя вместо этого% ProgramFiles% (эта умная переменная среды должна разрешаться либо в Program Files, либо в Program Files (x86) в зависимости от независимо от того, является ли вызывающий его процесс 64-битным или 32-битным). Если вы не можете получить доступ к источнику, чтобы изменить пути, быстрый и грязный обходной путь - вручную скопировать 32-разрядные файлы в Program Files. Как только я это сделал, наши тесты прошли без сучка и задоринки.
Итак, у вас есть 32-битные приложения.делатьработать в 64-битной Windows ... но иногда вам нужно обойти несколько предположений программиста, чтобы они заработали!