2009-02-14 12:41:06 +0000 2009-02-14 12:41:06 +0000
196
196

如何从MSI安装包中提取文件?

我们有一些旧的补丁,想从其中获取文件,但又不想花时间安装到机器上,请问有谁能告诉我一个从MSI安装包中提取文件的方法吗?

答案 (10)

74
74
74
2011-07-07 15:24:04 +0000

使用7Zip。 它可以解压MSI,CAB,一些EXE,以及更多的软件包。

46
46
46
2009-12-06 10:18:31 +0000

还有lessmsi,它是完全免费和开源的。

没有任何广告或唠叨的信息,它能正确地保存目录结构和文件名,有一个复杂的命令行界面,还有一个图形化的用户界面,可以浏览文件以及查看内部的MSI表和其他MSI属性。

25
25
25
2014-07-25 21:28:53 +0000

有内置的MSI文件提取(admin安装)

**MSI或Windows安装程序内置支持这个–从MSI文件中提取文件。这被称为管理员安装。它基本上是作为一种创建网络安装点*的方法,可以在许多目标计算机上运行安装。

注意,运行admin安装和使用zip工具提取文件是非常不同的!后者不会调整媒体表的媒体布局,从而使软件包被设置为使用外部源文件–这是正确的方法。始终喜欢运行实际的管理员安装,而不是任何黑客的zip解压工具。至于压缩,实际上有三种不同的压缩算法用于MSI文件格式里面的Cab文件。MSZip、LZX和Storing(未压缩)。所有这些都可以通过做一个admin安装来正确处理。


admin-installs有很多用处

建议多读一些关于admin-installs的文章,因为这是一个很有用的概念,我在stackoverflow上写过一篇帖子。 使用msiexec /a发起的管理安装的目的是什么? . 从本质上来说,管理员安装的重要作用是:** - 提取和检查安装程序文件 - 通过系统管理软件进行部署,例如SCCM(避免了C语言中巨大的、缓存的MSI文件。 \因为文件是从内部驾驶室中提取出来的) - 企业应用程序重新打包 - 修复、修改和自我修复操作 - 补丁和升级 - MSI 广告("从源码中运行“功能) - 其他一些小的细节 更多细节请阅读上面链接的 stackoverflow 帖子。这对系统管理员应用打包者程序开发者安装管理员发布经理,甚至是普通用户**,都是一个很重要的概念,可以看到他们正在安装什么等等…..


Admin-install, 实用的安装方法

你可以用几种不同的方式来执行admin-install,取决于安装程序的交付方式。基本上,它是以MSI文件或包裹在setup.exe文件中。 exe文件**:

一个setup.exe文件也可以是一个传统风格的设置(非MSI)或可怕的Installscript MSI文件类型–一个众所周知的错误的Installshield项目类型,具有混合的非标准兼容的MSI格式。对于legacy setup.exe文件,/a不会有任何作用,但你可以尝试使用/extract//all:[path] 开关,如这个pdf中所解释的那样。这对于静音安装和其他事情也是一个很好的参考。另一个资源是这个Installshield setup.exe命令行参数列表. 7Zip也可以解压缩文件,但不能正确格式化。

最后,如果没有其他方法,你可以通过清理系统中的临时文件夹,启动setup.exe交互式启动setup.exe,然后等待第一个对话框出现,就可以获得解压缩的设置文件。在大多数情况下,安装程序会把一堆文件解压到一个临时文件夹中。有时这些文件是普通的,其他时候是CAB格式的,但Winzip、7Zip甚至是通用解压器(还没有测试过这个产品)–也许可以打开这些文件。

8
8
8
2009-02-18 05:08:15 +0000

我推荐使用UniExtract来让neoice的解决方案更加简单。它做同样的事情,只是更自动化,并允许多种方法提取MSI文件,而不仅仅是管理安装(就像他的解决方案使用的那样)。

Universal Extractor是一款可以从任何类型的压缩包中提取文件的程序,不管是简单的压缩文件,还是安装程序,甚至是Windows Installer (.msi)包。

3
3
3
2009-02-14 13:02:14 +0000

如果你安装了Total Commander,有一个打开和提取MSI文件的插件

1
1
1
2014-02-06 21:04:27 +0000

在这里,lessmsi真的是最好的选择,因为它可以让你准确地选择要解压的文件和解压的位置。此外,它还可以很容易地使用windows的apt-get框架安装,称为Choclatey。上述的lessmsi网站已经移至,你也可以在GitHub上找到/下载。此外,你还可以在这里找到很多其他的工具和MSI的相关信息。:(抱歉,我不能发布超过2个以上的链接!)

1
1
1
2015-07-21 20:30:21 +0000

添加PeaZip到列表中。工作起来很顺利

1
1
1
2009-02-14 12:54:36 +0000

你可以使用Orca这个应用是平台SDK的一部分,但你也可以从这里下载http://astebner.sts.winisp.net/Tools/Orca.zip

0
0
0
2012-01-11 07:26:40 +0000

只需下载Universal Extractor。它可以提取所有类型的文件,包括.exe、.msi、.rar、.zip、.zip、.kgb等。

0
0
0
2009-06-30 03:08:07 +0000

Installshield .exe设置(如您所说)有多种类型,通常可以从中提取文件。

一个Installshield setup.exe可以包含旧的,传统的非MSI安装程序或新的MSI安装程序。 exe封装了一个MSI安装程序,您可以指定setup.exe /a,MSI的管理安装程序将运行,允许您指定文件的输出位置。请参见这里 (2011年7月更新,Acresso链接不再有效,2014年2月再次更新 - 现在指向itninja)。在大多数情况下,安装程序会把一堆文件解压到临时文件夹中。有时这些文件是普通的,其他时候是CAB格式的,但Winzip、7Zip甚至是Universal Extractor(还没有测试过这个产品)–也许能打开这些文件。