Пятница, 03.05.2024, 09:30
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Наш опрос
Оцените мой сайт
Всего ответов: 195
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Каталог статей

Главная » Статьи » Мои статьи

Запуск приложений .NET x32 на платформе x64
Небольшое вступление, что не удастся запустить на x64 (64-битная операционная система Окон)
Если ваше приложение было написано ещё в стародавние времена 16-битным, то шансы запустить это приложение на компьютере под управление 64-разрядной ОС (операционной системе Окон) сведены компанией Мелкомягких практически к нулю. Но не велик объём таких приложений и во многих случаях эти приложения, вероятно, морально устарели и думаю пора задуматься над обновлением автопарка ПО (программного обеспечения).



И так перейдём к тому, что ещё не так устарело и может понадобится при переходе x64, а именно старые добрые приложения x32 (64-битная операционная система Окон). Если вы писали приложение без применения платформы .NET, то ни каких проблем быть не должно и приложение с некоторой вероятностью будет таки работать под управлением x64. Что же делать если приложение разработано на платформе .NET и использовались некоторые x32 DLL-библиотеки? Или при компиляции проекта вы видите такое сообщение "Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"?

Пользователям полных версий Visual Studio .NET необходимо в параметрах компиляции выбрать вместо AnyCPU параметр x86 (/platform:{anycpu, x86, Itanium, x64}):
/platform:x86
После этого скомпилированное таким образом приложение должно запустится на компьютере x64

Что же делать с приложениями ссылающихся на 32-битные DLL-библиотеки, например, написанных с помощью бесплатных инструментов разработки MS Visual C# Express? Тут всё обстоит несколько иначе, т.к. в MS Visual C# Express нет настройки выбора платформы как в полной версии. Компилировать это приложение всё же придётся на x32 или переходить на полную версию среды разработки.

Для решения же проблемы запуска уже написанной программы на .NET x32 под x64 необходимо поменять флаг собранной программы, что бы программа запускалась как 32-битная и не пыталась искать 64-битные DLL-библиотеки. Для этого необходимо проделать следующие действия:
1) Скачайте 64-bit .NET 2.0 SDK по этой ссылке:

http://www.microsoft.com/downloads/details.aspx?FamilyID=1aef6fce-6e06-4b66-afe4-9aad3c835d3d&displaylang=en

и установите его.

2) Теперь нажмите кнопку "Пуск" и в стартовом меню
компьютера откройте пункт SDK Command Prompt в папке Microsoft .NET
Framework SDK v2.0 (64bit)
.

3) В появившемся окне консоли напечатайте следующие команды (после
каждой нажимайте Enter):

cd <здесь путь к вашей папке с программой, например, c:\>

corflags ваша_программа.exe /32BIT+

После смены флага сборки вашего приложения на 32BIT+ ваше приложение должно запустится под управлением x64.
Категория: Мои статьи | Добавил: Kelnyproject (10.02.2010)
Просмотров: 14180 | Теги: не запускается приложение x64, REGDB_E_CLASSNOTREG, x86 to x64, .NET SDK, x64, x32 to x64 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]