10
август
2022
Установка приложения Win32 в Wine64
10:43

Установка приложения Win32 в Wine64

10 август 2022 10:43

Меня заинтересовало приложение ITU, которое рассчитано на Windows XP и ниже (Windows 95/2000/XP). Под Linux и Wine вначале установка завершалась ошибкой "Threed32.ocx не зарегистрирован". Проблему с несовместимостью 32-разрядного приложения с 64-разрядным Wine решил, рассказываю как.

Симптомы ошибки

Первая ошибка:
При установке программы Windows в Linux в терминале выводится сообщение о проблеме:
warning: Вы используете 64-битный WINEPREFIX. Важно: многие ветки устанавливают только 32-битные версии пакетов. Если у вас возникли проблемы, пожалуйста, проверьте еще раз на чистом 32-битном WINEPREFIX до отправки отчета об ошибке.

Окно с данным текстом может возникать и на экране во время установки программы для Windows под Linux.

Вторая ошибка:
C:\Windows\System32\Threed32.ocx Модуль не найден
hfbcant2

Вместо Threed32.ocx может быть любой OCX или DLL файл (во время установки программы с помощью Wine Installer).

Общий симптом:
Программа не устанавливается в Wine и не запускается. (Причина - несовместимость архитектуры программы (x86) и префикса* по умолчанию в Wine (x64).

  • Термин "Префикс" - можно перевести как "профиль запуска программы", связанный с разрядностью 32 или 64 бита.

Решение: корректная установка старых приложений (32-разрядных) в современном Wine64

Исходные условия - установлен Wine и добавлена архитектура i386. Если нет, устанавливаем их:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install wine64

Порядок запуска 32-разрядного приложения в 64-разрядном Wine

1) Нам потребуется программа WineTricks, которая позволяет управлять Wine64 (назначать префикс, заниматься установкой программ, добавлять в операционную компоненты Windows):

Установим и обновим программу winetricks:

sudo apt-get update
sudo apt-get install winetricks
sudo winetricks --self-update

2) Запускаем из терминала winetricks

winetricks

4) В графическом интерфейсе winetricks создаем новый префикс Wine для Win32:

"Создать новый путь wine"
tricks

Задаём пути архитектуру "32" и понятное имя, например, "Win32":
win32
и нажимаем ОК и ждем 3-5 минут - winetricks занимается созданием нового префикса Wine.

Созданный префикс "Win32" стал текущим, что видно в заголовке окна.

6) В следующем окне выбираем пункт "Запустить explorer" для выполнения Explorer для просмотра файловой системы-.
run_explorer

7) В Explorer переходим в папку "Рабочий стол" -"Мои документы" - "Загрузки" выбираем файл EXE и устанавливаем его правой кнопкой мыши - меню "Открыть" или двойным щелчком мыши.
downloads

8) Выполняем установку программы.
continue_setup
Дожидаемся завершения установки программы:
finish
Обязательно нажимаем Finish.

9) stol Теперь, когда программа установлена, её можно запустить с ярлыка на Рабочем столе. При первом запуске может быть выведено сообщение о разрешении выполнения приложений:
"Файл ... является .desktop-файлом.
Что вы хотите с ним сделать? Открыть - Выполнить - Отмена. Для выполнения приложения в Wine необходимо нажать кнопку "Выполнить".

 

Другой способ запуска приложения - всё в том же Explorer найти приложение по указанном пути (c:\путь_к_программе\файл.exe) и выполнить двойной щелчок мыши на имени файла:
run_folder
run_file

10) Программа теперь работает:
prg

Примечание: дополнительные компоненты, необходимые для запуска программы (библиотеки MFC40, VB, .NET и т.д.) ставим в программе winetricks в тот же WINEPREFIX "Win32", в первом меню "Установить библиотеку DLL или компонент Windows":
dop
Выбранные Вами компоненты будут загружены из сети Интернет и установлены в профиль Wine.

При последующих установках приложений Win32 в Winetricks всегда выбираем созданный ранее профиль "Win32" для архитектуры x86.

wine32selection


Дальнейшие действия:



Похожие публикации