2015-02-27 1 views
0

На самом деле я был опробован с помощью других инструментов, таких как nsis, 7Zip, но я не смог открыть файл msi с помощью nsis. Итак, есть ли способ открыть файл msi в Linux и внести некоторые изменения в этот файл. Пожалуйста, объясните мне это.Каковы способы открытия файлов MSI в Linux?

ответ

1

Извините, но вы уверены, что знаете, что такое MSI? Это не формат пакета, как 7zip. MSI в основном состоит из таблиц, которые для редактирования нуждаются в очень большом знании этой технологии установщика Windows.

Что вы, возможно, ищете, редактирует содержимое файла установки MSI. Эти файлы либо несжаты (что здесь, очевидно, не так), либо лежат в .cab-файле (-ах), кроме файла .msi, или упакованы в .cab-файл (-ы), который/они снова упакованы в файл .msi.

Я предполагаю, что последний случай является вашим, поэтому у вас есть два уровня пакетов.

Так что лучший ответ может быть, при работе на ПК с Windows:

  1. Не делайте это с простым редактированием, потому что это и к тому же ненадлежащее вы, кажется, не быть специалистом в этой области ,

  2. Если вы хотите сделать это, хотя, это как:

    • Скачать инструмент как InstEd
    • Распакуйте файлы .cab из MSI (ищите потоков)
    • Определение файла хотите изменить в .cab (не идентичные имена)
    • Измените новый размер файла в самом файле MSI указанным инструментом
    • Либо сохраните файл .cab снова в файле MSI (нет простого инструмента для этого !!) или отредактируйте файл .msi, чтобы MSI теперь работал с .cab-файлами, не сжатыми внутри msi, но лежащими помимо этого.

Я довольно хороший этот вопрос, я бы почти никогда не делать этого. Поэтому я не предполагаю, что для вас это имеет смысл. И снова: все примечания выше предполагали, вы работаете над ОС Windows.

Конечно, вы можете сделать это в Linux: используйте виртуальную машину Windows !! Возможно, это работает также с WINE.

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

И оставайтесь с NSIS, если можете - это не так сложно, как MSI, и если он удовлетворяет ваши потребности, все в порядке.

+0

спасибо philim за ваше предложение. У меня есть файл .msi, и я хочу открыть этот файл и хочу добавить некоторые данные. Как я могу это сделать в Linux не в окнах. –

+0

Да, как я уже сказал: «Конечно, вы можете сделать это в Linux: используйте виртуальную машину Windows! Возможно, это может работать и с WINE (подсистемой Windows)». На самом деле: .msi - это, возможно, один из самых специальных форматов Windows. Вам нужны специальные инструменты для этого даже в самой Windows. Я не знаю инструмента, который мог бы сделать это в Linux, и я не знаю кого-то, кто бы серьезно подумал о написании одного, потому что это бессмысленно. Я действительно пытался помочь. – Philm

+0

Я записал эти советы, потому что, честно говоря, «хочу добавить некоторые данные» - это предложение, которое предполагает предположение, что кто-то не знает о трудностях с этим, даже при правильном инструменте под «родной» ОС здесь , Поэтому я написал об этих трудностях. Как правило, ни один профессиональный разработчик не «добавляет» некоторые данные в данный MSI. Лучше всего делать свежие перестройки или при изменении настроек из других источников, чтобы работать с так называемыми преобразованиями или патчами. – Philm

0

Если вы хотите написать настройки, которые работают с Linux, Windows и другими, просто рассмотрите InstallAnywhere - это сделано для таких вещей, но, конечно, это не бесплатно.

0

Похоже, msitools должен быть в состоянии помочь вам.

Я смог извлечь некоторые файлы MSI с msiextract из этого пакета.

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

  • Нет связанных вопросов^_^