Запуск «Документы ПУ-6» на Linux посредством Wine.
Основы по использованию Wine: https://noostyche.ru/blog/2020/04/30/ispolzovanie-wine-dlya-zapuska-windows-programm-v-linux/
Официальный сайт для загрузки программы: https://pfr.gov.ru/employers/software
Пример создания префикса:
WINEPREFIX=/home/$USER/.wine64pu6 wineboot -u
Поместить установочный файл в корень префикса. Пример:
/home/$USER/.wine64pu6/drive_c/setup_pu6_1_1_60_1039_.exe
Установить программу.
WINEPREFIX=/home/$USER/.wine64pu6 wine start /unix 'C:/setup_pu6_1_1_60_1039_.exe'
Примечание: Опция start /unix осуществляет запуск программы на манер Windows Explorer и правильно обрабатывает пути в DOS-представлении. Это решает проблемы с запуском и установкой проблемных программ.
Установить по предлагаемому программой пути: C:/Program Files (x86)/Документы ПУ-6/
Библиотеки ставить не нужно:
Запуск программы:
WINEPREFIX=/home/$USER/.wine64pu6 wine start /unix 'C:/Program Files (x86)/Документы ПУ-6/PU.exe'
При запуске на Wine 7.12 и версиях ниже выводится ошибка.
Если нажать «Continue», то ошибка так и будет выводиться после каждого действия:
Из-за этой ошибки программа практически неработоспособна и не завершится должным образом, поэтому следует применить принудительное выключение:
WINEPREFIX=/home/$USER/.wine64pu6 wineserver -k
Возникновение ошибки связано с .NET Framework 4.0 — самой наихудшей программной платформой (framework), какую можно использовать для создания программного обеспечения подобного «Документы ПУ-6». Платформа отличается чрезвычайной проблемностью, к которой добавляются программные ошибки в самом ПО, что приводит к разнообразным проблемам и несовместимостям.
В Wine используется свободный аналог .NET — Mono. В нём решены различные проблемы оригинала, но в некоторых случаях это оборачивается против. К сожалению, программа «Документы ПУ-6» одна из них.
Некоторый функционал в программе рассчитан на конкретную причудливую реализацию из .NET, от чего более адекватная из Mono не работает так, как задумывали разработчики программы. Поэтому не мучайте людей — никогда не используйте .NET для разработки ПО, разве только под угрозой самых бесчеловечных пыток. Поэтому для решения этой проблемы, к большому сожалению, потребуется установить оригинальный .NET Framework 4.0.
Самым простым способом является задействование winetricks:
WINEPREFIX=/home/$USER/.wine64pu6 winetricks dotnet40
Во время установки могут появляться различные предупреждения, на них следует отвечать утвердительно, тогда установка пройдёт успешно. Именно так, всё настолько печально, что оно даже устанавливается с трудом, к счастью, в winetricks реализованы специальные обходные пути, решающие проблемы с установкой.
Теперь программа «Документы ПУ-6» будет работать нормально (насколько это применимо к ней).