Installation 从EXE中提取MSI

Installation 从EXE中提取MSI,installation,wix,windows-installer,extract,installshield,Installation,Wix,Windows Installer,Extract,Installshield,我想提取EXE设置的MSI以通过网络发布 例如,使用Universal Extractor,但它不适用于Java运行时环境。应该可以做到这一点 使用它,您可以提取EXE中的所有文件(因此也是一个MSI文件) 虽然您可以使用7-Zip进行安装,但更好的方法是管理安装,正如所指出的。从参数开始: setup.exe /A 要求保存包含的文件(包括MSI) 这可能取决于创建setup.exe的软件。唯一的方法是运行exe并收集MSI。您必须注意的是,如果您使用MST转换MSI,它们可能会丢失 我使用

我想提取EXE设置的MSI以通过网络发布

例如,使用Universal Extractor,但它不适用于Java运行时环境。

应该可以做到这一点

使用它,您可以提取EXE中的所有文件(因此也是一个MSI文件)


虽然您可以使用7-Zip进行安装,但更好的方法是管理安装,正如所指出的。

从参数开始:

setup.exe /A
要求保存包含的文件(包括
MSI


这可能取决于创建
setup.exe的软件。唯一的方法是运行exe并收集MSI。您必须注意的是,如果您使用MST转换MSI,它们可能会丢失

我使用此批处理命令行:

SET TMP=c:\msipath
MD“%TMP%”
设置温度=%TMP%
启动/d“c:\install”install.exe/L1033
PING 1.1.1.1-N1-W1000>NUL
对于(*.msi)中的/R“%TMP%”%%f,请复制“%TMP%”
taskkill/F/IM msiexec.exe/T

我猜这个问题主要是关于给定标签的InstallShield,但是如果有人来这里对基于WiX的软件包(可能还有其他软件包)有同样的问题,只需使用/extract调用安装程序,如下所示:

C:\> installer.exe /extract

这将把MSI放在安装程序旁边的文件夹中。

启动安装程序,但不要按安装>按钮。然后

cd "%AppData%\..\LocalLow\Sun\Java"
并在其中一个子目录中找到您的MSI文件(例如,
jre1.7.0_25


请注意,该子目录中的
Data1.cab
也是必需的。

对于基于InstallShield MSI的项目,我发现以下方法可行:

setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn"
此命令将导致在您可以自由指定的目录中提取MSI,并导致产品卸载失败

命令行基本上告诉setup.exe尝试卸载产品(/x),并以静默方式(/s)卸载。执行此操作时,它应将MSI提取到特定位置(/b)

/v命令将参数传递给Windows Installer,在本例中为/qn参数。/qn参数禁用安装程序的任何GUI输出

快速列表:有许多常见类型的
setup.exe
文件。以下是“短名单”中的一些。 (朝向底部)

Setup.exe摘录:(各种口味可供尝试)

dark.exe
是一个WiX二进制文件-用于提取WiX setup.exe(从现在开始)。(第4节)

总是有:

  • Installshield:
  • ()
MSI提取:
msiexec.exe
/
File.MSI
提取:


许多安装工具:不可能涵盖所有不同类型的可能的
Setup.exe
文件。它们可能具有各种不同的命令行开关。(、、等…)

NSIS/Inno:Commmon,免费工具,如
Inno设置
似乎使提取变得困难(我没有尝试,由virustotal.com运行)。而NSIS似乎使用标准存档软件(7-zip等)可以打开和提取的常规存档

常规技巧:一个技巧是启动
setup.exe
,并在
1)
系统的临时文件夹中查找提取的文件
。 另一个技巧是使用
2)
7-Zip、WinRAR、WinZip
或类似工具 存档工具以查看它们是否可以读取格式。有些人声称成功了 通过
3)
在Visual Studio中打开setup.exe
。不是技术 我用
4)
并且明显存在应用程序重新打包
- 捕获安装程序运行后对计算机所做的更改,并 把它清理干净——大部分是免费的 来来去去,高级安装程序架构师和AdminStudio都很强大 球员)


更新:用于创建 安装者: (综合链接)

现在(2018年)更简单,便于快速阅读和概述

为了安全起见:

  • (朝下)
  • (不同类型的Installshield setup.exe文件)

只是一个免责声明:一个
setup.exe
文件可以包含一个嵌入式MSI,它可以是一个旧式(非MSI)安装程序,也可以只是一个普通的可执行文件,没有任何提取手段。下面的“讨论”首先介绍了MSI文件的管理映像的使用以及如何从setup.exe文件中提取MSI文件。然后,它提供一些链接来处理其他类型的setup.exe文件。另请参见评论部分

更新:在使用管理安装描述MSI文件提取之前,下面直接添加了几个部分。最重要的是关于提取WiX setup.exe捆绑包(块上的新孩子)的简介请记住,查找提取的安装文件的“最后手段”是启动安装程序,然后在临时文件夹中查找提取的文件(按住Windows键,点击R,键入
%temp%
%tmp%
,然后按Enter)-出于可靠性原因,请先尝试其他选项

对于这些沉重的链接造成的“普遍混乱”深表歉意。我相信,如果你在链接中挖掘得足够多,你会找到你需要的东西,但内容确实应该清理干净,组织得更好

常规链接:

  • (朝向底部)
  • (通用,但重点是静默卸载)
  • (有关安全保管的链接-请参阅部署工具的链接)
  • (提取、无声运行等)
  • (智者是智者
    setup.exe /a
    setup.exe /s /extract_all
    setup.exe /s /extract_all:[path]
    setup.exe /stage_only
    setup.exe /extract "C:\My work"
    setup.exe /x
    setup.exe /x [path]
    setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn"
    
    dark.exe -x outputfolder setup.exe
    
    setup.exe /?
    
     msiexec /a File.msi
     msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
    
    msiexec /a File.msi
    
    msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
    
    setup.exe /a