How to make msi in linux?

13,578

Solution 1

You can use msi-packager. Can be installed on Ubuntu/Debian using:

sudo apt-get install msitools nodejs npm
sudo npm install -g msi-packager

https://www.npmjs.com/package/msi-packager

Solution 2

Here is the full procedure to manipulate MSI files under Linux. The idea is export the MSI content to XML, modify the XML and then repack de MSI file, you can modify even the EXE files, not only tables:

  1. Install WINE 32 bits version
  2. Install WineTricks, you need it for DLL and frameworks installation.
  3. Install .NET2.0, .NET4.0, MSXML6, VCRUN6 with winetricks (easy as ./winetricks dotnet20 dotnet40 msxml6 vcrun6)
  4. Download MSI2XML & XML2MSI executables from the [official project page(https://msi2xml.sourceforge.io/)
  5. Execute wine msi2xml installer.msi
  6. Edit the XML file, then, pack again with wine xml2msi installer.xml
  7. You are done, here is your MSI file!

Hope that helps, with MSI2XML & XML2MSI you can manipulate MSI files under Windows but also under Linux with WINE and it's 100% working solution.

Share:
13,578

Related videos on Youtube

Marlon Remedios
Author by

Marlon Remedios

Updated on June 04, 2022

Comments

  • Marlon Remedios
    Marlon Remedios about 2 years

    I have a msi installer created on windows, I put the msi into linux platform and I use 7z to extract content of msi installer, after that I used lcab command for extract and change some files, also using lcab command I put all files that I modified into cab. Now I need to restore msi, any idea?

  • Marlon Remedios
    Marlon Remedios over 7 years
    thank for your answer, but when I install msi-packager ubuntu do not recognaize that command, what can be wront with it, because I also do that before.