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

时间:2015-01-02 06:05:07

标签: c# command-line windows-installer msiexec

我想将msi文件转换为exe文件。当我使用msnxec的qn选项运行msi文件时,我的软件安静地安装。但现在我想将该msi文件转换为.exe文件,并且该exe文件使用 msiexec / i“msi文件路径”/ qn 选项运行msi文件,任何想法怎么做。

3 个答案:

答案 0 :(得分:5)

我们可以使用7zip SFX创建无交换机安装程序。这里是一个快速浏览

要求

  • 7Zip:您可以从Official Site下载最新版本的7zip。

  • 7Zip SFX模块:官方下载页面为here

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

步骤1:

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

@Echo off
msiexec /i installer.msi /qn

步骤2:

压缩我的安装程序的示例中,将msibat文件压缩到7z存档。(您可以从here下载并安装7zip)。 msi exec.bat installer.7z 存档。

enter image description here

步骤3:

下载并解压缩7zSD(来自7zSfx链接)并将该文件放在同一档案文件夹中,此处为direct link

Step4(可选):

我们可以更改安装程序的图标,为此我们应该替换7zsd.sfx文件的图标,在资源黑客中我们应该打开7zsd.sfx并转到IconGroup > 101 > 1049并将图标替换为一个理想的人。然后将新的sfx文件保存在生成​​的7z Archive的同一文件夹中。我把我保存为 7zsdInstaller.sfx

enter image description here

步骤5:

我们应该创建一个配置文件来告诉Sfx文件解压缩后要做什么,这是示例的配置文件:

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

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

步骤6:

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

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

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

enter image description here

答案 1 :(得分:1)

你应该使用flexa软件的安装盾牌产品。您可以使用安装时用于提取的所有支持文件将msi压缩为.exe。

答案 2 :(得分:1)

如果您使用 Installshield 进行设置,则该工具本身应该只需在 setup.exe 文件> release wizard - 我认为只需设置发布“压缩”,但可能需要进一步设置。

请准确关注these help file instructions。有些版本的Installshield(快速版,旧版等等)可能没有这个选项,但坦率地说我对此表示怀疑。一看就应该在那里。

也许还会看到this youtube.com demonstration of the release wizard和之前的stackoverflow问题:HowTo create InstallShield MSI with no files needed locally?