安装软件:选择.msi还是.exe?


34

某些软件站点允许将其软件下载为.msi文件或.exe文件。如果提供了该选项,则应该选择下载哪个选项来安装软件,即:使用.msi文件而不是安装程序(.exe)有什么优点?

我确实了解两者之间的区别,因为.msi文件是一个安装软件包,将由Windows安装程序可执行文件处理。.exe文件是包含安装程序和安装文件的可执行文件。但是,选择.msi而不是.exe的真正好处是什么。最后,结果是一样的。或不?


3
通常,Windows需要花很多时间做事,通常我会使用.exe来安装较小的软件包,这些软件包可以快速自行安装。
The Green Frog

1
在Stackoverflow的类似代码上有一个问题:Windows应用程序安装程序框架。我认为,这对您有好处。
nik

7
“作为一般规则,windows需要永远做事”?如果我曾经看过一个大胆的,不真实的陈述。
caliban

2
MSI文件具有供企业使用的许多优势:MSI部署优势
SteinÅsmul2014年

Answers:


22

通常,msi软件包是为需要通过网络将软件部署到多个终端的系统管理员提供的。

结果与使用可执行文件没有什么不同,但是msi软件包有时确实具有其他选项,例如执行静默安装或预配置安装。

如果您不是系统管理员,请使用可执行文件。


4
由于压缩效果更好,可执行文件通常也较小,但是可执行文件往往包含并包装了msi,会自动将其提取并以交互方式/用户选择选项模式启动安装…
Oskar Duveborn

5
MSI不仅是针对系统管理员的-尽管可以肯定的是,MSI是由他们使用的。与他们的EXE弟兄们相比,我发现他们在卸载时趋向于被完全删除(而且不,我不知道为什么)
沃伦

1
MSI是否更安全,因为.exe可以是任何东西,但是.msi绝对是安装程序包?
Dave Cousineau 2014年

@Sahuagin它可能是一个安装软件包,用于安装恶意软件。
thameera 2014年

1
@thameera似乎仍然有很大的不同。微星不会有向导,而exe会直接执行吗?微星不会自动卸载吗?
Dave Cousineau 2014年

5

MSI文件是关系数据库,由Microsoft安装服务使用。该服务将应用程序安装到计算机上。MSI文件为应用程序安装和维护提供了比以前的旧脚本可执行程序提供的灵活性高得多的功能,因此MSI文件是当前在Windows上进行安装的推荐方法。


3
这如何表明MSI是推荐的(最佳阅读)方法?
hasen

3

与.msi相比,.exe没有真正的优势,除非您使用Winrar(或某些其他),您通常可以从.msi文件中提取所有文件,而无需安装任何程序。


您在第二句话中是说.exe吗?因为解压缩后的.exe通常比.msi文件具有更整洁的文件结构(两者都可以在存档管理器中打开)。
用户

1

有时,尤其是在安装.NET应用程序时,会有Setup.exe和.msi。对于.NET,Setup.exe可以检查以确保系统已安装了运行该应用程序的所有适当先决条件(如.NET Frameowork等)。

如果您的系统缺少这些先决条件之一,它会提示您先安装它们,然后再运行应用程序,这可以避免成功安装应用程序而导致的运行失败,但是由于缺少库或框架而导致运行失败。

如果您具有所有先决条件,则Setup.exe仅启动.msi


因此,您是说msi无法检查所需的软件,并提示用户安装它们?
Rabarberski

2
一个msi可以检查所需的软件,但是编写代码会稍微复杂一些。根据使用哪种工具来进行安装,MS的某些开发工具可以自动生成Setup.exe,从而使编码人员的工作更加轻松。以下是一些可能有帮助的详细信息:msdn.microsoft.com/zh-cn/magazine/cc163899.aspx
Millhouse,2009年

1

其他细微的差异包括:

一个MSI文件只能具有一个用于安装向导的语言环境(详细信息)。
这可能是将应用程序分发为.exe(更灵活)的原因。

因此,如果安装向导的语言很重要,那么.exe可能会更好。


可以肯定的是,这是最明显的主要原因,并且与sysadmins使用它的上述建议相矛盾!使用全局devop,对于系统管理员来说更有意义的是下载该exe。该死的MS使事情变得如此混乱。
killjoy18年

0

如果可用,我个人更喜欢.zip(或等价的)。因此,我可以随时随地提取它,因此我确切地知道系统中发生了什么更改(因为我是更改它的人)。

理想情况是可移植程序。

虽然如果我必须在exe和msi之间进行选择,我会选择exe。只是因为..

通常,msi文件会花费很长时间进行无用的搜索配置和类似的工作。exe也可以做到这一点,但是更像是exe会在某个位置提取文件并安装开始菜单快捷方式。


-2

恕我直言,从某种意义上说,MSI更加安全,因为感染病毒后,exe文件可能会被感染,因为病毒传播的一种方式是将其代码锁定在可执行文件中。他们不太可能使用MSI文件来执行此操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.