Как открыть msi linux
Дата и время публикации: 2020-03-15 21:05:05
Дата и время модификации: 2020-03-22 07:07:07
Что лечим и как?
Для несведущих и неискушенных людей установка msi-пакетов нетривиальная задачка, особенно, когда на государевы сайты, например nalog.ru, предлагают подобное установить на компьютер с предустановленным GNU/Linux , как показано на рисунке 1.1
На рисунке 1.1 показан файл InsD2019.msi , который требует предустановленного Wine , который можно установить согласно разным советам по установке, потому что утилита установки пакетов msi программа msiexec входит в его состав.
После всех подготовительных действий, производим установку пакета msi , как показано в дампе 2.1
При этом, необращаем внимание на сообщение типа «0009:err:mscoree:LoadLibraryShim error reading registry key for installroot» , связанное с программой wineprefix , поэтому не стоит беспокоится.
Для отключения излишних сообщений, таких как «fixme:msi:internal_ui_handler internal UI » и т.п., не приводящим к сбоям работы программы msiexec , следует внести изменения в формат её выполнения, как показано в дампе 2.2
В результате указанных действий в дампе 2.1 или 2.2 на экране должно отобразится окно, как показано на рисунке 2.1
Остальные инструкции по установке следует черпать на сайте nalog.ru .
После установки указанного приложения c сайта nalog.ru, наблюдалась знакомая картина, а именно — с рабочего стола не работали ярлыки запуска в среде функционирования Wine , которые представлены файлами с расширением .lnk .
Сайт разработан в соответствии с рекомендациями консорциума W3C для языка разметки HTML5.
Источник
Хитрости и трюки при использовании Wine
Всем привет!
Прочел статью про «Все тонкости настройки Wine», оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.
В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.
Что такое вайн думаю объяснять нет смысла. Хочу лишь показать несколько трюков при работе с ним.
Префиксы
С их помощью вы можете устанавливать приложения именно туда куда вы их хотите установить, а не в дефолтный .wine. Даже если что то пойдет не так, достаточно удалить тот префикс, в котором произошла ошибка, при этом все другие приложения\префиксы (предположим, что они настроенные) не пострадают.
То есть каждый созданный вами префикс можно рассматривать как отдельный wine – он независим от других префиксов. Или, для еще большей простоты, воспринимайте каждый созданный префикс, как отдельно установленную винду.
Теперь немного практики:
Сейчас мы создадим папку Gamez, в ней мы создадим префикс lib в который установим несколько библиотек. Эти библиотеки все равно пригодятся потом, поэтому пусть кешируются.
mkdir ./Gamez
env WINEPREFIX=$HOME/Gamez/lib wine winecfg
env WINEPREFIX=$HOME/Gamez/lib winetricks directx9 vcrun2005 vcrun2008 vcrun6
env WINEPREFIX=$HOME/Gamez/lib wine winecfg
Последней командой мы опять вызвали окно конфигуратора wine. Просто перейдите на вкладку «Библиотеки» и убедитесь, что все установилось. После этого выполните:
wine winecfg — откроется конфигуратор wine (не из префикса), проверьте ту же вкладку. Видите! Здесь никаких библиотек. Значит он цел и невредим.
Как установить несколько разных версий wine?
Для решения этой задачи придется собирать wine из исходников. При сборке просто используем префикс для дефолтной установке. Примерно как здесь:
./configure prefix=/path/to/install/directory && make
sudo make install
AppDB
Обязательно используйте appdb для поиска информации по установке приложения, возможно стаф, который вы устанавливаете, уже установили и расписали все подводные камни.
Наводим порядок в домашнем каталоге
Если вы любите поиграть, то вероятно ваш /home раздел забит сейвами и прочими файлами игр. Избавиться от этого всего дела, не в ущерб можно так:
Замените стандартный путь к моим документам, на желаемое место для хранения сейвов. У меня, к примеру, этот путь ведет в папку с игрой.
Использование последних версий wine
Wine такая штука, чем новее тем лучше! С помощью следующей команды вы всегда будете иметь последнею версию wine (для Ubuntu-подобных дистрибутивов):
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
После выполнения этих команд ищите последнею версию wine в synaptic.
Установка winetricks
Если по каким-либо причинам у вас до сих пор нет winetricks, то завести его в хозяйстве можно так:
wget winetricks.org/winetricks
sudo cp winetricks /usr/bin
sudo chmod +x /usr/bin/winetricks
Как установить MSI файл?
Это можно сделать двумя способами: wine msiexec /i whatever.msi
Альтернативный способ: wine start whatever.msi
The file foo.exe is not marked as executable… — Что это значит?
Эта ошибка происходит потому что на exe файле стоит запрет на выполнение. Для файла на вашей ФС эта команда должна исправить положение:
chmod a+x ./patch/you/exe.file
если же файл находится на диске, то должна помочь вот эта команда:
mount -o remount,mode=0777,exec /media/cdrom
Как вывести содержимое отладки в отдельный файл?
/.wine/drive_c/Games/Tron
wine tron.exe &> log.txt
Как отключить «crash» диалог?
Если вы используете префиксы, не забудьте в команде указать путь к префиксу — winetricks nocrashdialog
После запуска приложения\игры, wine ругается и ничего не запускает. Что делать?
Для начала изучите логи, обычно в них все написано. Ниже я приведу самые популярные ошибки:
MFC40.DLL : через winetricks установи mfc40 (Microsoft Foundation Classes from Visual C++ 4).
MFC42.DLL, MSVCP60.DLL : через winetricks установи vcrun6 (MS Visual C++ 6 sp4 libraries: mfc42, msvcp60, msvcrt).
MFC71.DLL, MSVCP71.DLL : через winetricks установи vcrun2003 (MS Visual C++ 2003 libraries: mfc71,msvcp71,msvcr71).
MFC80.DLL, MSVCP80.DLL : через winetricks установи vcrun2005 (MS Visual C++ 2005 libraries: mfc80,msvcp80,msvcr80).
MFC90.DLL, MSVCP90.DLL : через winetricks установи vcrun2008 (MS Visual C++ 2008 libraries: mfc90,msvcp90,msvcr90).
MDAC : через winetricks установи mdac27 (MS MDAC 2.7).
Мое приложение работает, но текстовые поля ведут себя странно
Проанализируйте дебаг wine после запуска приложения, если видите что ругается на RICHED20.DLL, то доустановите через winetricks следующею библиотеку: riched20
После запуска в консоль выводятся fixme сообщения. Что это?
Вы можете просто их игнорировать, это информация для разработчиков.
Что делать если приложению необходим .NET фреймворк?
Через вайнтрикс можно установить 1 или 2 фреймворк. Как альтернатива использовать mono. Если же приложение требует 3 или 4 фреймворк, то скорее всего оно работать не будет (хотя 3 и даже 3.5 доступен в меню winetricks). Ждем пока решат эту проблему.
Игра которую я пытаюсь установить защищена от распространения возможно ли её установить?
Смотри список copy protection, которые работают.
Что делать если приложение требует IE?
Wine использует по умолчанию ядро\движок Gecko – это то же, что и на Firefox. Поэтому можно через winetrikcs доустановить gecko(если его нет) и\или fakeie6.
Если же это не помогло, попробуйте поменять версию windows на win2k и установить через winetricks ie6, ie7 или ie8.
Как включить сглаживание шрифтов в wine?
Если ваша версия выше чем 1.1.12 вы можете использовать winetricks и выбрать один из трех вариантов сглаживания: fontsmooth-gray, fontsmooth-rgb или fontsmooth-bgr
После выхода из игры не восстанавливается разрешение экрана
Должно помочь: xrandr -s 0
Как попасть в реестр wine?
wine regedit — Если используются префиксы укажите путь в команде.
Нуждается ли wine в отдельной установке драйверов?
Нет. Wine – это не эмулятор компьютера, он лишь переводит вызовы Windows API в понятные линуксу команды.
Безопасно ли запускать wine от root?
Никогда не запускайте wine от root пользователя.
Если это уже случилось измените владельца
sudo chown -R $USER:$USER .wine
Техника безопасности при использовании wine
Вот несколько советов, которые помогут вам повысить безопасность:
- Никогда не запускайте программы с подозрительных сайтов
- Никогда не используйте root пользователя для запуска приложений!
- Используйте антивирусный сканер для запускаемых приложений, например ClamAV. Или хотя бы проверяете экзешники на virustotal
- Попробуйте удалить wine диск Z:, который указывает по умолчанию на корневой каталог. В качестве обходного пути запускать программы из
/.wine/drive_c директории.
Файл .xsession-errors забивает мусором все дисковое пространство. Что делать? (рецепт от —=XliN=—)
/.xsession-errors &> /dev/null
[[ «$(stat -c %s
/.xsession-errors)» -ge «52428800» ]] && echo >
/.xsession-errors
done
Добавьте его в автозагрузку, и установите следующий пакет (он необходим для работы скрипта).
apt-get install inotify-tools
Источник
Извлечение msi-файлов с помощью Linux
чтобы извлечь содержимое установщика MSI с помощью Linux, я могу использовать msiexec с вином или использовать 7zip .
однако в последнем случае каталоги и имена файлов сохраняются не только частично. Есть ли способ правильно извлечь MSI-файлы без использования wine ?
edit: проиллюстрировать проблему с Microsoft Infer.NET, здесь это список файлов, которые производит 7zip и здесь тот, который производит msiexec (где последний-то, что я хочу)
4 ответов
а это не поможет вам сразу, lessmsi работает на родной версии Linux. Он сохраняет структуру каталогов, как вы хотите, так что стоит проверить, если это будет долгосрочная проблема для вас. К сожалению. ,поддержка msi на Linux кажется довольно редкой, поэтому lessmsi или msiexec через wine могут быть вашим единственным непосредственным вариантом, даже если (как вы сказали) wine является довольно тяжелой зависимостью для извлечения архивов.
и открытые ошибки!
вы можете попробовать программу под названием cabextract — по крайней мере Ubuntu имеет пакеты для него, я ожидал бы, что его можно найти и из других популярных дистрибутивов.
учитывая, что у вас есть wine установлена, вы можете использовать встроенный msiexec команда, хотя в документах не ясно, как ее использовать для распаковки.
распаковать файл installer.msi файл в текущую папку:
распаковать файл installer.msi файл в подпапку xyz (будет создан, если не существует):
Примечание: Если вы предоставляете абсолютную папку извлечения, то убедитесь, что он в формате windows, а не unux, например z:\home\myuser\folder .
Источник
[Совет] Установка приложений .msi с помощью Wine
Здравствуйте коллеги, добрый день. Сегодня я приношу вам небольшой совет, он выложен на форуме, но по просьбе Элава я положил его сюда.
Если мы попытаемся запустить файл .msi (установщик для Windows) с помощью Wine напрямую, мы не сможем этого сделать, и будет выдана ошибка о том, что формат исполняемого файла неправильный. Но у Wine есть необходимый инструмент, чтобы заставить его работать без установки «Официального установщика Microsoft для Windows».
Это исполняемый файл msiexec.exe, встроенный в Wine, поэтому все, что вам нужно сделать, это открыть консоль и ввести:
msiexec /i tuArchivoInstalador.msi
Подробно команда будет такой:
Msiexec ==> Сделайте вызов msiexec.exe, упомянутого выше. Это винный инструмент для установки пакетов .msi.
/i ==> Это вариант установки.
ваш InstallerFile.msi ==> Это тот пакет, который мы хотим установить, не помешает уточнить путь. Например:
Тогда просто установленное приложение появится в меню приложений, установленных с вином.
Если мы хотим удалить приложение, достаточно изменить параметр / i для параметра / uninstall, как показано ниже:
Надеюсь, это вам поможет.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Из Linux » приложений » [Совет] Установка приложений .msi с помощью Wine
Источник
Как открыть MSI файлы в Linux?
На самом деле меня пробовали с другими инструментами, такими как nsis,7Zip, но я не смог открыть MSI-файл с помощью nsis. Так есть ли способ открыть файл MSI в Linux и внести некоторые изменения в этот файл. Пожалуйста, направьте меня в этом отношении.
3 ответа
Извините, что спросил, но вы уверены, что знаете, что такое MSI? Это не формат пакета, как 7zip. MSI в основном состоит из таблиц, для редактирования которых требуется очень много знаний об этой технологии Windows Installer.
То, что вы, возможно, ищете, редактирует содержимое файла установки MSI. Эти файлы либо несжатые (что, очевидно, здесь не так), либо находятся в файле (файлах) CAB, кроме MSI, либо упакованы в файл (ы).CAB, которые сами / снова упакованы в файл MSI.
Я предполагаю, что последний случай ваш, поэтому у вас есть два уровня пакета.
Так что лучший ответ может быть, если вы работаете на ПК с Windows:
Не делайте этого с простым редактированием, потому что это неуместно, и, кроме того, вы, кажется, не являетесь экспертом в этой области.
Если вы хотите сделать это, хотя это:
- Загрузите инструмент, такой как Insted
- Распакуйте.cab файлы из MSI (ищите потоки)
- Определите файл, который вы хотите изменить в.cab (не идентичные имена)
- Измените новый размер файла в самом файле MSI с помощью упомянутого инструмента
- Либо снова сохраните файл.cab в MSI-файле (для этого нет простого инструмента!!), либо отредактируйте MSI-файл так, чтобы MSI теперь работал с файлами.cab, не сжатыми внутри msi, но к тому же лежащими.
Я довольно хорош в этом вопросе, я бы почти никогда не делал этого. Поэтому я не предполагаю, что для вас имеет смысл это делать. И снова: все заметки выше предполагают, что вы работаете в ОС Windows.
Конечно, вы можете сделать это в Linux: используйте Windows VM! Это может работать, вероятно, также с WINE.
Профессиональный способ сделать это — использовать профессиональный инструмент MSI и создать обновление или патч, содержащий требуемые изменения. В некоторых случаях это можно сделать и с помощью преобразования, но будут ловушки, если вы хотите изменить в основном файлы, поэтому для этого лучше подходят обновления. Неважно, что вы выберете, вы потратите очень много времени и, возможно, немного денег на инструменты с пользовательским интерфейсом. Выберите WiX для работы с инструментом разработчика для редактирования файлов XML, что означает отсутствие специального пользовательского интерфейса или, другими словами, когда вы хотите тратить больше времени, но не тратить деньги.
И оставайтесь с NSIS, если вы можете — он не такой сложный, как MSI, и если он отвечает вашим потребностям, все в порядке.
Источник