在linux中打开MSI文件的方法是什么?

时间:2015-02-27 10:26:28

标签: msiexec

实际上我尝试使用其他工具,如nsis,7Zip,但我无法使用nsis打开msi文件。 那么有没有办法在Linux中打开msi文件并对该文件进行一些更改。请指导我这一点。

3 个答案:

答案 0 :(得分:1)

很抱歉问,但你确定,你知道吗,MSI是什么?它不是像7zip这样的包格式。 MSI主要由要编辑的表组成,需要非常了解这种Windows Installer技术。

您可能正在寻找的是编辑MSI设置的文件内容。这些文件要么是未压缩的(这里显然不是这种情况),要么位于除.msi之外的.cab文件中,或者打包在.cab文件中,这些文件本身又被打包在.msi文件中。

我认为后一种情况属于你,所以你有两个包级别。

所以最好的答案可能是,如果在Windows PC上工作:

  1. 不要只是编辑,因为它不合适,而且你似乎不是这个领域的专家。

  2. 如果你想这样做,就像:

    • 下载像Insted
    • 这样的工具
    • 将.cab文件解压缩出MSI(查找流)
    • 在.cab中识别要更改的文件(不同名称)
    • 使用上述工具
    • 在MSI文件中更改新文件大小
    • 将.cab文件再次保存在MSI文件中(不是简单的工具!!)或编辑.msi文件,以便MSI现在可以使用.cab文件,这些文件不是在msi中压缩而是在其中。
  3. 我很善于这件事,我几乎永远不会这样做。所以我不认为,你这样做是有意义的。 再说一遍:上面的所有注释都假设您正在使用Windows操作系统。

    当然,您可以在Linux中执行此操作:使用Windows VM !! 它可能也适用于WINE。

    专业的方法是使用专业的MSI工具,并创建包含所需更改的更新或补丁。在某些情况下,这也可以通过转换来完成,但如果您想要更改主要文件,则会有陷阱,因此更新对此更好。 无论你选择什么,你都会花费很多时间 - 也许还有一些钱用于带有UI的工具。选择WiX以使用编辑XML文件的开发人员工具,这意味着没有专门的用户界面,换句话说,当你想花更多的时间,但没有钱时。

    如果可以的话,请留在NSIS,它不像MSI那么复杂,如果满足您的需求,那就没关系。

答案 1 :(得分:0)

如果你想编写适用于Linux,Windows等的设置,只需要考虑InstallAnywhere-这是为了这样的事情,但当然它不是免费的。

答案 2 :(得分:0)

看起来msitools应该可以为您提供帮助。

我已经能够从该软件包中提取msiextract的一些MSI文件。