Mar*_*tin 209 compression windows-installer installation
我们有一些旧补丁,我们想从中获取文件,但不想花时间将它们安装到机器上。
谁能建议一种从MSI安装包中提取文件的方法?
小智 240
首先,要访问命令提示符,请执行以下操作:
单击开始按钮。
单击所有程序。
进入配件。
左键单击命令提示符。
获得命令提示符后,输入以下内容:
msiexec /a drive:\filepath\to\MSI\file /qb TARGETDIR=drive:\filepath\to\target\folder
Run Code Online (Sandbox Code Playgroud)
使用所需的位置来填充上述文件路径。例子:
msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test
Run Code Online (Sandbox Code Playgroud)
Ste*_*mul 27
MSI或 Windows 安装程序对此具有内置支持- 从 MSI 文件中提取文件。这称为管理安装。它基本上旨在作为一种创建网络安装点的方法,从该安装点可以在许多目标计算机上运行。这可确保源文件始终可用于任何修复操作。
请注意,运行管理员安装与使用 zip 工具提取文件是非常不同的!后者不会调整媒体表的媒体布局,以便将包设置为使用外部源文件——这是正确的方法。总是更喜欢在任何 hacky zip 提取上运行实际的管理员安装。至于压缩,实际上有三种不同的压缩算法用于 MSI 文件格式中的 cab 文件:MSZip、LZX 和存储(未压缩)。所有这些都可以通过管理员安装正确处理。
建议阅读更多关于 admin-installs 的信息,因为它是一个有用的概念,我在 stackoverflow 上写过一篇文章:使用 msiexec /a 启动管理安装的目的是什么?.
本质上,管理员安装对于以下方面很重要:
请阅读上面链接的stackoverflow帖子以获取更多详细信息。对于系统管理员、应用程序打包人员、安装开发人员、发布经理,甚至普通用户来说,查看他们正在安装的内容等是一个非常重要的概念......
您可以通过几种不同的方式执行管理员安装,具体取决于安装程序的交付方式。本质上,它要么作为MSI 文件提供,要么包装在setup.exe 文件中。
从提升的命令提示符运行这些命令,并按照交互式命令行的 GUI 中的说明进行操作:
MSI文件:
msiexec /a File.msi
Run Code Online (Sandbox Code Playgroud)
那是用 GUI 运行的,你也可以默默地做:
msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
Run Code Online (Sandbox Code Playgroud)setup.exe 文件:
setup.exe /a
Run Code Online (Sandbox Code Playgroud)一个SETUP.EXE文件,也可以是一个传统风格的设置(非MSI)或可怕的InstallScript MSI文件类型-一个众所周知的越野车Installshield的项目类型与混合非符合标准的MSI格式。它本质上是一个带有自定义的、更高级的 GUI 的 MSI,但它也充满了错误。
对于旧版 setup.exe 文件,/a将不执行任何操作,但您可以尝试使用/extract_all:[path] 开关,如本 pdf 中所述。它也是静默安装和其他事情的一个很好的参考。另一个资源是Installshield setup.exe 命令行参数列表。
MSI 补丁文件(*.MSP) 可应用于管理映像以正确提取其文件。7Zip 也可以解压缩文件,但它们的格式不正确。
最后,如果没有其他方法可行,您可以通过清除系统上的临时文件夹来获取提取的安装文件,以交互方式启动 setup.exe,然后等待第一个对话框出现。在大多数情况下,安装程序会将一堆文件解压缩到临时文件夹中。有时文件是普通文件,有时是 CAB 格式,但 Winzip、7Zip 甚至 Universal Extractor(尚未测试此产品)- 可能能够打开这些文件。
我会建议UniExtract制作neoice的解决方案更容易。它做同样的事情,只是更加自动化,并允许使用多种方法来提取 MSI 文件,而不仅仅是管理安装(正如他的解决方案所使用的那样)。
UniExtract 还可以处理与 WISE 或 InstallShield 一起打包的 exe,以及各种其他压缩格式。哦,它是免费的。
Universal Extractor 是一个完全符合它所说的程序:从任何类型的存档中提取文件,无论是简单的 zip 文件、安装程序,还是 Windows Installer (.msi) 包。
如果您添加这些注册表项,当您右键单击 MSI 文件时,您将看到一个选项“在此处提取”:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\Msi.Package\shell\ExtractHere]
@="Extract here"
[HKEY_CURRENT_USER\SOFTWARE\Classes\Msi.Package\shell\ExtractHere\command]
@="msiexec.exe /a \"%1\" TARGETDIR=\"%1_extracted\" /qb"
Run Code Online (Sandbox Code Playgroud)
将内容保存在记事本文件中,将扩展名“.txt”重命名为“.reg”,然后双击该文件以将注册表项添加到注册表中
归档时间: |
|
查看次数: |
401036 次 |
最近记录: |