使用命令行选项将 msi 转换为 exe...

convert msi to exe with a command line option...

我想将 msi 文件转换为 exe 文件。当我使用 msiexec 运行带有 qn 选项的 msi 文件时,我的软件会静默安装。但现在我想将该 msi 文件转换为 .exe 文件,并且该 exe 文件使用 msiexec /i "path of msi file" /qn[=15 运行 msi 文件=] 选项,知道怎么做。

你应该使用flexa软件的install shield产品。您可以将您的 msi 压缩成 .exe,并在安装时将所有支持的文件用于提取。

我们可以使用 7zip SFX 创建 switch-less 安装程序。这是一个快速浏览

要求

  • 7Zip: 您可以从 Official Site.

  • 下载最新版本的 7zip
  • 7Zip SFX 模块: 官方下载页面为 here.

  • Resource Hacker 或任何其他资源编辑器(可选): 如果您想为最终可执行文件使用自定义图标,您应该使用资源编辑器应用程序并将图标替换为您想要的图标。这是 Resource Hacker 应用程序 download link 来自它的开发者网站。

第一步:

msi 文件的同一文件夹中创建一个 exec.bat 文件,并将 msiexec /i "path of msi file" /qn 复制到其中。我使用 Installer.msi 作为示例,所以这是我的文件:

@Echo off
msiexec /i installer.msi /qn

第二步:

msibat 文件压缩到 7z 存档。(您可以从 here 下载并安装 7zip)在示例中我压缩了我的 [=75] =]Installer.msiexec.batinstaller.7z 存档。

第三步:

下载并解压缩 7zSD(来自 7zSfx link)并将文件放在存档的同一文件夹中,这里是 direct link

第四步(可选):

我们可以更改安装程序的图标,为此我们应该更换 7zsd.sfx 文件的图标,在 Resource hacker 中我们应该打开 7zsd.sfx 并进入 IconGroup > 101 > 1049 并更换带有所需图标的图标。然后将新的 sfx 文件保存在生成​​的 7z 存档的同一文件夹中。我将我的保存为 7zsdInstaller.sfx.

第五步:

我们应该创建一个配置文件来告诉 Sfx 文件在提取存档后要做什么,这里是示例的配置文件:

;!@Install@!UTF-8!
GUIFlags="8+32"
ExtractDialogText="My Sample Installer"
RunProgram="exec.bat"
;!@InstallEnd@!

我们应该将它保存在我们 7z 存档的同一文件夹中,我将我的命名为 config.txt.

第六步:

现在我们应该将我们的文件合并为一个可执行文件,为此,首先我们应该将命令提示符导航到我们保存生成的文件的文件夹,然后我们应该执行以下命令:

copy /b 7zsdInstaller.sfx + config.txt + Installer.7z "installer.exe"

现在我们应该在同一个文件夹中有一个 installer.exe

如果您使用 Installshield 自己进行设置,该工具本身应该能够创建一个 setup.exe 文件通过简单地在 release wizard 中设置发布设置 - 我认为它只需要设置发布 "Compressed" 但它可以需要进一步设置。

请严格按照these help file instructions。某些版本的 Installshield(express、旧版本等)可能没有此选项,但坦率地说我对此表示怀疑。一看就应该有。

也许还会看到this youtube.com demonstration of the release wizard and this previous Whosebug question: HowTo create InstallShield MSI with no files needed locally?