还有lessmsi,它是完全免费和开源的。
没有任何广告或唠叨的信息,它能正确地保存目录结构和文件名,有一个复杂的命令行界面,还有一个图形化的用户界面,可以浏览文件以及查看内部的MSI表和其他MSI属性。
**MSI或Windows安装程序内置支持这个–从MSI文件中提取文件。这被称为管理员安装。它基本上是作为一种创建网络安装点*的方法,可以在许多目标计算机上运行安装。
注意,运行admin安装和使用zip工具提取文件是非常不同的!后者不会调整媒体表的媒体布局,从而使软件包被设置为使用外部源文件–这是正确的方法。始终喜欢运行实际的管理员安装,而不是任何黑客的zip解压工具。至于压缩,实际上有三种不同的压缩算法用于MSI文件格式里面的Cab文件。MSZip、LZX和Storing(未压缩)。所有这些都可以通过做一个admin安装来正确处理。
建议多读一些关于admin-installs的文章,因为这是一个很有用的概念,我在stackoverflow上写过一篇帖子。 使用msiexec /a发起的管理安装的目的是什么? . 从本质上来说,管理员安装的重要作用是:** - 提取和检查安装程序文件 - 通过系统管理软件进行部署,例如SCCM(避免了C语言中巨大的、缓存的MSI文件。 \因为文件是从内部驾驶室中提取出来的) - 企业应用程序重新打包 - 修复、修改和自我修复操作 - 补丁和升级 - MSI 广告("从源码中运行“功能) - 其他一些小的细节 更多细节请阅读上面链接的 stackoverflow 帖子。这对系统管理员,应用打包者,程序开发者,安装管理员,发布经理,甚至是普通用户**,都是一个很重要的概念,可以看到他们正在安装什么等等…..
你可以用几种不同的方式来执行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甚至是通用解压器(还没有测试过这个产品)–也许可以打开这些文件。
我推荐使用UniExtract来让neoice的解决方案更加简单。它做同样的事情,只是更自动化,并允许多种方法提取MSI文件,而不仅仅是管理安装(就像他的解决方案使用的那样)。
Universal Extractor是一款可以从任何类型的压缩包中提取文件的程序,不管是简单的压缩文件,还是安装程序,甚至是Windows Installer (.msi)包。
如果你安装了Total Commander,有一个打开和提取MSI文件的插件。
你可以使用Orca这个应用是平台SDK的一部分,但你也可以从这里下载http://astebner.sts.winisp.net/Tools/Orca.zip
只需下载Universal Extractor。它可以提取所有类型的文件,包括.exe、.msi、.rar、.zip、.zip、.kgb等。
Installshield .exe设置(如您所说)有多种类型,通常可以从中提取文件。
一个Installshield setup.exe可以包含旧的,传统的非MSI安装程序或新的MSI安装程序。 exe封装了一个MSI安装程序,您可以指定setup.exe /a,MSI的管理安装程序将运行,允许您指定文件的输出位置。请参见这里 (2011年7月更新,Acresso链接不再有效,2014年2月再次更新 - 现在指向itninja)。在大多数情况下,安装程序会把一堆文件解压到临时文件夹中。有时这些文件是普通的,其他时候是CAB格式的,但Winzip、7Zip甚至是Universal Extractor(还没有测试过这个产品)–也许能打开这些文件。