Answers:
首先,访问提升权限的命令提示符,以执行以下操作:
单击开始按钮。
单击所有程序。
进入配件。
右键单击“命令提示符”。
选择以管理员身份运行。
出现“ UAC提示”时,单击“继续”。
提升命令提示符后,输入以下内容:
msiexec /a drive:\filepath\to\MSI\file /qb TARGETDIR=drive:\filepath\to\target\folder
使用所需的位置来填充上述文件路径。例:
msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test
.msi
。
extractMSI.cmd
文件中:msiexec /a %1 /qb TARGETDIR="%~d1%~p1%~n1" || pause
并将其添加到msi文件的“使用...打开”选项
MSI或Windows Installer 对此具有内置支持 -从MSI文件提取文件。这称为管理安装。基本上,它旨在作为一种创建网络安装点的方法,从该网络安装点可以在许多目标计算机上运行安装。这样可以确保源文件始终可用于任何修复操作。
请注意,运行管理员安装与使用zip工具提取文件的方式有很大不同!后者将不会调整媒体表的媒体布局,因此该包将设置为使用外部源文件-这是正确的方法。始终喜欢在任何hacky zip解压缩上运行实际的管理员安装。关于压缩,实际上,MSI文件格式中的cab文件使用三种不同的压缩算法:MSZip,LZX和Storing(未压缩)。通过执行管理员安装可以正确处理所有这些。
建议阅读更多有关admin-installs的信息,因为它是一个有用的概念,并且我在stackoverflow上写了一篇文章:使用msiexec / a启动管理安装的目的是什么?。
本质上,管理员安装对于以下方面很重要:
请阅读上面链接的stackoverflow帖子以获取更多详细信息。这是相当长的一个重要的概念系统管理员,应用程序打包,安装程序开发者,发布经理,以及甚至普通用户,看看他们正在安装等..
您可以通过几种不同的方式执行管理安装,具体取决于安装程序的交付方式。本质上,它要么作为MSI文件提供,要么包装在setup.exe文件中。
从提升的命令提示符运行这些命令,并按照GUI中有关交互式命令行的说明进行操作:
MSI文件:
msiexec /a File.msi
这是要与GUI一起运行,您也可以无声地执行此操作:
msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
setup.exe文件:
setup.exe /a
一个SETUP.EXE文件,也可以是一个传统风格的设置(非MSI)或可怕的InstallScript MSI文件类型-一个众所周知的越野车Installshield的项目类型与混合非符合标准的MSI格式。它本质上是带有自定义更高级GUI的MSI,但同时也充满了错误。
对于旧版setup.exe文件,/ a将不执行任何操作,但您可以尝试使用/ extract_all:[path]开关,如本pdf中所述。对于静默安装和其他方面,它也是一个很好的参考。另一个资源是Installshield setup.exe命令行参数的列表。
MSI修补程序文件(* .MSP)可以应用于管理映像,以正确提取其文件。7Zip也将能够解压缩文件,但是它们的格式不正确。
最后,如果没有其他方法,可以清除系统上的temp文件夹,以交互方式启动setup.exe,然后等待显示第一个对话框,以获取提取的安装文件。在大多数情况下,安装程序会将一堆文件提取到temp文件夹中。有时文件是普通格式,有时是CAB格式,但是Winzip,7Zip甚至是Universal Extractor(尚未测试过此产品)-可以打开这些文件。
我会建议UniExtract制作neoice的解决方案更容易。它做同样的事情,只是自动化程度更高,并且允许采用多种方法来提取MSI文件,而不仅仅是管理安装(因为他的解决方案正在使用中)。
UniExtract还可以处理与WISE或InstallShield打包在一起的exe,以及其他各种压缩格式。哦,它是免费的。
通用提取器是一种完全按照其说的做的程序:从任何类型的存档中提取文件,无论是简单的zip文件,安装程序,甚至是Windows Installer(.msi)软件包。
您可以使用Orca这个应用程式是Platform SDK的一部分,但您也可以从这里http://astebner.sts.winisp.net/Tools/Orca.zip下载
您也可以尝试Heath Stewart的MSI提取器。
只需下载Universal Extractor即可。它提取所有类型的文件,包括.exe,.msi,.rar,.zip,.kgb等。
尝试安装在InstallSite上的GUI提取器上的MSITOOLS.EXE。
Installshield .exe设置(如您所称)有多种形式,通常可以从它们中提取文件。
Installshield setup.exe可以包含旧的旧版非msi安装程序或新的msi安装程序。
如果setup.exe包装了MSI安装程序,则可以指定setup.exe / a,MSI的管理员安装将运行,从而允许您指定和输出文件的位置。
如果setup.exe是旧版Installshield安装程序,则它可能支持或可能不支持通过/ extract_all:[path]开关提取文件。请在此处查看(2011年7月更新,Acresso链接不再有效,2014年2月再次更新-现在指向itninja)。
另请注意,保留这些文件的另一种方法是清除系统上的temp文件夹,以交互方式启动setup.exe,然后等待第一个对话框出现。在大多数情况下,安装程序会将一堆文件提取到temp文件夹中。有时文件是普通格式,有时是CAB格式,但是Winzip,7Zip甚至是Universal Extractor(尚未测试过此产品)-可以打开这些文件。