如何在linux中制作msi?

时间:2017-01-18 16:08:01

标签: linux windows-installer compression msiexec

我在Windows上创建了一个msi安装程序,我把msi放到了linux平台上,我用7z来提取msi安装程序的内容,之后我用lcab命令提取并更改了一些文件,也使用lcab命令我把所有我修改成cab的文件。现在我需要恢复msi,任何想法?

2 个答案:

答案 0 :(得分:4)

您可以使用msi-packager。 可以使用以下命令安装在Ubuntu / Debian上:

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

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

答案 1 :(得分:1)

这里是在Linux下操作MSI文件的完整过程。想法是将MSI内容导出为XML,修改XML,然后重新打包MSI文件,您甚至可以修改EXE文件,而不仅限于表:

  1. 安装WINE 32 bits version
  2. 安装 WineTricks ,您需要安装DLL和框架。
  3. 使用winetricks(如./winetricks dotnet20 dotnet40 msxml6 vcrun6)轻松安装.NET2.0,.NET4.0,MSXML6,VCRUN6
  4. 从[官方项目页面(https://msi2xml.sourceforge.io/
  5. 下载 MSI2XML和XML2MSI 可执行文件。
  6. 执行wine msi2xml installer.msi
  7. 编辑XML文件,然后再次用wine xml2msi installer.xml
  8. 打包
  9. 您已完成,这是您的MSI文件!

希望有帮助,借助MSI2XML和XML2MSI,您不仅可以在Windows下,而且可以在Linux下使用WINE及其100%有效的解决方案来处理MSI文件。