Marlon Remedios
Marlon Remedios

Reputation: 57

How to make msi in linux?

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?

Upvotes: 5

Views: 20825

Answers (2)

Julian Rios
Julian Rios

Reputation: 2961

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.

Upvotes: 4

mschuurmans
mschuurmans

Reputation: 1086

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

Upvotes: 8

Related Questions