2

Я унаследовал огромную базу кода, написанную для работы в Windows XP. Теперь мы хотим перейти на Windows 7. Я не знаю, как правильно это сделать. Каков правильный подход к выполнению вышеуказанной задачи? Я немного искал различия между XP и Windows 7, но у меня нет правильных ссылок, которые описывают, как внутренности 7 отличаются от XP. Любые ссылки будут оценены.Преобразование приложения Windows, написанного на XP в Windows 7

Как обычно разработчики S/W переносят свой код/​​приложения, написанные для одной версии ОС, говорят, что Vista для Windows 7?

+0

http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=Win7DeveloperGuide&ReleaseId=1702 –

+0

Что заставляет вас думать, что вам нужно сделать что-нибудь? API окон расширен с новыми выпусками, но почти никогда не менялся. Если вы программируете против документированного API, то никаких изменений не потребуется. –

+0

Просто, чтобы попробовать, я установил exe, который установил btw без проблем на XP в Windows 7. У меня появилось сообщение об ошибке, в котором говорилось, что «в этой версии Windows не установлен пакет обновления 5 для Windows nt 4. Вы хотите продолжить». Я попытался продолжить, и у меня появилось больше ошибок при неспособности регистрации DLL. – user281693

ответ

0

В основном Windows7 является 4-битной ОС и поэтому обязательно работает на 64-битной процессорной среде. XP имеет 32-битные, а также 4-битные варианты. Если ваше приложение предназначено для 32-битной версии XP, в этом случае основное средство миграции позволяет эффективно запускать приложение на 4-битной ОС.

Основные шаги могут быть чем-то вроде этого:

  1. сделать его совместимым с 64-битной win7. Таким образом, вы можете просто скомпилировать код с машины win7 (на 64-битной). Если компиляция работает нормально, вы можете успешно запустить приложение.

  2. Первый шаг только позволяет двигаться вперед. Но ваше приложение может оказаться неэффективным. В этом случае вам, возможно, придется просмотреть код для какой-либо конкретной реализации, подключенной к 32-разрядным ОС, и обновить их, чтобы воспользоваться 64-разрядной ОС.

основных преимуществ на 64-битной ОС выше адреса способность (так получить больше оперативной памяти), а также кэш и т.д.

+0

Спасибо, будет держать его в уме. Я сделаю эти шаги и вернусь к вам. – user281693

+1

Вы уверены? Сейчас я успешно запускаю Win7 на 32-битном ноутбуке. –

+1

Win7 поставляется с 32-битным вкусом. – Kangkan

3

я продать автообновления решение (Автообновление +, минорный вилка) и поэтому имеют много опыта портирование приложений Windows в самые последние версии и, тем не менее, поддержание обратной совместимости. Перенос из Windows XP в Windows 7 может быть большой проблемой (разница между переходом Windows Vista на Windows 7 практически не должна быть).

Window XP не заботится о том, где ваше приложение существует, и, следовательно, программисты будут сбрасывать как свое приложение, так и логику поддержки (файлы журналов, файлы конфигурации, профили пользователей и т. Д.) В одно и то же место в разделе «C: \ Program Files \ ». Возьмите это приложение в Windows 7, и вы начнете находить некоторые необычные поведения. Во-первых, вы заметите, что файлы, похоже, «исчезают». Вместо файла журнала, который изменяется в общем расположении программных файлов, вы можете получить несколько и отдельные копии для каждого пользователя в разделе «Файлы совместимости/программы». Windows Vista/7 представила виртуализацию файловой системы и теперь создаст отдельные пользовательские экземпляры файлов, чтобы гарантировать, что каждый пользователь имеет собственную защищенную копию.

Еще одна проблема, с которой вы столкнетесь в Windows Vista и, в меньшей степени, в Windows 7, - это подсказки управления учетными записями пользователей (UAC). Это похоже на проблему выше, поскольку новые ограничения безопасности теперь приводят к тому, что Windows Vista/7 предложит пользователю продолжить утверждение. Наиболее заметной областью, где это происходит, является то, что вы подделываете исполняемые файлы в чувствительных каталогах, устанавливаете приложения и драйверы, а иногда и при попытке самообновления приложения (вышеупомянутое приложение действительно работает с этими подсказками с помощью некоторой интеллектуальной логики).

Итак, изменения в безопасности - самое большое различие между Windows XP и Windows Vista/7. Лучшее начало - отделить логику приложения (двоичные файлы) от поддержки логики, поставив последнюю в пользовательские каталоги. Некоторые приложения никогда не могут быть исправлены и могут быть вынуждены вместо этого работать в режиме совместимости или запускаться всегда под контекстом учетной записи администратора --- плохие обходные пути, но могут быть подходящими для вашей компании.

Simon @http://AutoUpdatePlus.com

+0

Можете ли вы предоставить некоторую документацию о том, как работает AutoUpdate и что нужно делать с этим продуктом, чтобы пройти обновление? Предположим, у меня есть код в C# и ASP.NET, который отлично работает на XP. Я хочу запустить его на Win7. Он включает в себя некоторые службы WCF, WPF-XBAPP и страницы ASP.NET, работающие на IIS5.1/6. – Kangkan

1

Есть три части к миграции. Во-первых, сделайте это простой работой. Это означает исправление жестко заданных путей к файлам (больше нет документов и настроек), изменение некоторых из ваших мест сохранения, поэтому вам не нужно повышать работу, чтобы не работать должным образом и не полагаться на виртуализацию, изменяя некоторые разделы реестра для по той же причине и справиться с высоким уровнем DPI, который теперь может применяться автоматически на основе размера экрана, а не по выбору пользователя.

Во-вторых, заставьте его выглядеть и работать как приложение Windows 7. Является ли ваш jumplist полезным? Ваш эскиз? Вы получаете какие-то вещи бесплатно, вам нравится, что вы получаете или хотите взять под контроль? Есть ли очевидные выигрыши, которые вы могли бы использовать, например, кнопки эскизов, задачи jumplist, накладки на панели задач и т. Д. Не удивляйте своих пользователей и не разочаровывайте своих пользователей. (Пример разочарования: VS 2008 и предлагаемые им распутные jumplists. У них было оправдание освобождения до Windows 7 - вы этого не делаете.)

В-третьих, используйте Windows 7, чтобы быть больше, чем вы в противном случае. Прекратите опрос для подключения к сети, создания файла, подключенного оборудования, включения и выключения питания переменного тока и т. Д. И узнайте, как получать уведомления, когда это происходит. Добавьте поддержку касания сверх того, что вы получаете бесплатно. Говорите с датчиком или GPS в первый раз, так как Windows 7 упрощает работу, чем когда-либо. Что-то в этом роде.

1 не является обязательным. 2 действительно не является обязательным, либо через год после выпуска Windows 7. 3 будет отличать вас, и я рекомендую, как только вы пройдете 1 и 2, вы заглянете в него.

0

Я сделал некоторые поисковые запросы по различиям между XP и Windows 7, но у меня нет правильных ссылок, которые описывают, как внутренности 7 отличаются от XP. Любые ссылки будут оценены.

отчет API различий между XP и Vista: https://abi-laboratory.pro/compatibility/Windows_5.0_to_Windows_6.0/x86_64/abi_compat_report.html

отчет API различий между Vista, и 7: https://abi-laboratory.pro/compatibility/Windows_6.0_to_Windows_7.0/x86_64/abi_compat_report.html

Отчеты создаются с помощью инструмента abi-compliance-checker.

enter image description here

Смежные вопросы