V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
verfino
V2EX  ›  问与答

打包exe要比msi复杂,那为什么国内大部分软件都用exe不用msi?

  •  
  •   verfino · 2013-07-10 00:21:50 +08:00 · 7329 次点击
    这是一个创建于 4144 天前的主题,其中的信息可能已经有所发展或是发生改变。
    打包exe的过程,里面肯定会调用到msi吧。

    国内几乎所有的安装程序为什么都做成exe而不弄个msi呢? 为了方便流氓?
    24 条回复    1970-01-01 08:00:00 +08:00
    ejin
        1
    ejin  
       2013-07-10 01:10:19 +08:00   ❤️ 1
    问楼主一个问题,为什么要做成安装程序,直接压缩包不是最好么,安装程序本身就是要把软件的各部分都设置好在电脑里。

    事实上exe是一个独立的程序,本身就是安装软件,但是msi不同,msi是应用程序?说白了跟doc xls htm一样。连独立程序都不是,说实话我很不喜欢微软这种,你要使用msi就必须系统有windows install的支持。你要用.net写的软件就必须有个非常大大大的框架,可能.net写个软件职业50K,但是却要去下载个50M的框架来装,关键是,安装还很慢。

    所以我想同样因为这样的原因,大家才不爱msi
    feikaras
        2
    feikaras  
       2013-07-10 01:29:19 +08:00   ❤️ 1
    谁告诉你所有exe安装程序都调用msi的了?
    exe调用msi只是其中一种。这还只是为了检测安装msi的依赖————可往往如果不是windows版本太低,windows安装服务存在问题的话这种方式也修不好————我从来就没有修好过这种服务,遇到的话直接重装。
    微软的东西说实话很烂很烂很烂就差一步没法用了。
    momo5269
        3
    momo5269  
       2013-07-10 01:33:31 +08:00   ❤️ 1
    有很多exe其实就是7z解压 外带注册dll和倒入注册表一些东西而已,全都是命令行可以完成的工作
    有的甚至只有解压和输出快捷方式(含菜单)
    msg7086
        4
    msg7086  
       2013-07-10 07:14:07 +08:00   ❤️ 1
    因为94年的时候还没有msi
    breeswish
        5
    breeswish  
       2013-07-10 09:01:45 +08:00 via Android   ❤️ 1
    inno之类的好像不用调用msi……

    最关键是msi经常冒出来各种奇葩问题 什么服务未启动啦,什么版本不对啊,什么找不到旧版卸载程序啊、blabla 这种让人最不爽
    cxe2v
        6
    cxe2v  
       2013-07-10 09:36:27 +08:00   ❤️ 1
    @momo5269 习惯而已,再说小白用户你还想让它知道去找哪个才是命令行文件?一个exe,双击,完全不用思考才是给消费者用的
    momo5269
        7
    momo5269  
       2013-07-10 09:38:13 +08:00
    @cxe2v 喂喂 其实我的意思是那些exe其实就是一个自动运行的命令行...我表达不好
    momo5269
        8
    momo5269  
       2013-07-10 09:39:06 +08:00
    @cxe2v 多了一个词“可以” ,理解就完全不一样了.......
    verfino
        9
    verfino  
    OP
       2013-07-10 09:44:53 +08:00
    @ejin @feikaras thanks, 这下对两者明白了;

    之前认为一个exe的安装程序必定会调用msi, 是我想错了。

    exe就是exe, 它本来就可以脱离windows install, 而用自己的安装方式去安装它, 只要你是windows。 而msi因为要有windows install而不是那么自由。
    cdfmr
        10
    cdfmr  
       2013-07-10 09:49:19 +08:00
    msi烂到家,安装过程比蜗牛慢,还有一大堆奇葩问题。想当年,安装一个VS2005的时间,可以重装XP好几遍了。
    Muninn
        11
    Muninn  
       2013-07-10 09:52:12 +08:00
    貌似是老的xp不支持新的msi吧
    momo5269
        12
    momo5269  
       2013-07-10 09:56:21 +08:00
    @cxe2v 而且 有好多所谓绿色软件,还有很多解压即用都在里面放了一个bat或者reg 说明里面说让他运行和导入就行了 即便是不怎么懂的 做这些也没啥吧?
    verfino
        13
    verfino  
    OP
       2013-07-10 10:06:23 +08:00
    @cdfmr @Muninn
    - -我第一次接触计算机的时候, 那时就开始windows vista往windows 7转型了(09年), 再前一点的东西都从来没接触过
    BOYPT
        14
    BOYPT  
       2013-07-10 10:07:26 +08:00
    也就老掉牙的xp没这没那需要这么折腾而已吧
    cxe2v
        15
    cxe2v  
       2013-07-10 11:22:11 +08:00
    @momo5269 那种绿色软件我都不用,既然都要导入注册表才能用的了,那能叫绿色啊?
    momo5269
        16
    momo5269  
       2013-07-10 11:41:49 +08:00
    @cxe2v 我都说了是所谓...而且我是说针对不怎么懂电脑的人来说,和你用不用没关系啊.....
    cxe2v
        17
    cxe2v  
       2013-07-10 11:46:48 +08:00
    @momo5269 。。。。貌似你火气上来了,这两天雨吓得厉害,消不了气可以出去淋淋,哈哈!
    momo5269
        18
    momo5269  
       2013-07-10 11:53:51 +08:00
    @cxe2v 解释一下这也叫火气................
    momo5269
        19
    momo5269  
       2013-07-10 11:55:23 +08:00
    @cxe2v 因为你讨论的是小白用户...结果你说『我都不用』我当然要回答『和你用不用没关系啊』........
    msg7086
        20
    msg7086  
       2013-07-10 15:35:28 +08:00
    exe格式出生于改革开放之前,msi什么的不知道是哪年的事情了
    haohaolee
        21
    haohaolee  
       2013-07-10 16:07:56 +08:00   ❤️ 1
    msi本质上是一个数据库文件,exe是可执行文件,不同层面上的东西,没有可比性
    LokiSharp
        22
    LokiSharp  
       2013-07-10 20:45:41 +08:00
    因为,部分精简版 XP 里没有 msi 安装器
    X_Del
        23
    X_Del  
       2013-07-10 22:24:26 +08:00
    @haohaolee 可是 Linux 下很少有程序用 Bin 来安装啊,大部分都是包管理或者 make & sudo make install。
    应该还是 Windows 生态环境的问题,没有良好的包管理处理依赖,开发者们只能八仙过海,各显神通了。
    haohaolee
        24
    haohaolee  
       2013-07-10 22:52:05 +08:00
    @X_Del 就这个问题而言,应该分为使用 MSI 的打包技术和其它打包技术,而不是用 exe 和 msi 来区分。
    很多可执行 exe 不过是解压出 msi,然后调用 Windows Installer 的 API 去处理这个 msi 而已,而另外一些 exe 安装包完全和 msi 没有关系。大型的安装程序一般都是有可执行程序引导的,因为内部的 msi 可能有多个。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5447 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:08 · PVG 15:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.