【问题标题】:How to create msi and install from it?如何创建 msi 并从中安装?
【发布时间】:2017-05-18 19:09:31
【问题描述】:

msi 文件是否是 Debian 中 deb 文件的 Windows 等效文件?

在 Debian/Ubuntu 中,将程序编译为可执行文件后,我可以使用名为 checkinstall 的程序从可执行文件中创建一个 deb 文件。然后我可以通过dpkg安装一个deb文件。

在 Windows 中,

  • 可以从源代码构建的可执行文件创建 msi 文件的程序/命令是什么?

  • 可以安装msi文件的程序/命令是什么?

谢谢。

【问题讨论】:

    标签: windows installation debian windows-installer


    【解决方案1】:

    Windows 安装程序由 SDK、数据库规范和运行时服务组成。它于 1999 年推出,最初具有可再发行组件,这些组件在之前可以“引导”到系统上并且可以安装 MSI。很长一段时间以来,这个运行时的各种版本已经被嵌入到各种版本的 Windows 中,所以通常这不再是一个问题。您可以简单地安装 MSI。

    从技术上讲,SDK 确实附带了一些可用于创建 MSI 的工具。但是,这就像使用记事本和 CSC 编写 .NET 应用程序一样。几乎没有人会真正这样做。一个值得注意的工具确实来自 SDK:ORCA.exe。 ORCA 是一个数据库编辑器,对于检查 MSI 和对已构建的 MSI 进行微小修改非常有用。从技术上讲,它可用于创建 MSI,但在早期微软之外很少有人这样做。

    在大多数情况下,Microsoft 将安装程序创作工具留给了第三方。 Windows Installer XML(开源)、Industrial Strength Windows Installer XML(开源)、InstallShield、Visual Studio 部署项目、InstallAware 和 AdavancedInstaller 等等。它超出了 Stack Overflow 的范围,但我将链接一个 2 分钟的视频,展示如何使用 Visual Studio、WiX 和 IsWiX 创建一个带有单个 EXE 快捷方式的简单 MSI:

    https://www.youtube.com/watch?v=nnV_OU6fk8c

    披露:我是 GitHub 上 IsWiX 的项目维护者。

    关于如何安装 MSI。 MSI 是数据库而不是程序。它由 Windows Installer 服务 msiexec.exe 安装

    有一个广泛的命令行记录在:

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx

    【讨论】:

    【解决方案2】:

    没有用于创建 MSI 安装程序文件的标准工具。有许多免费和付费的第三方工具可以帮助您创建 MSI;您必须进行一些搜索和比较,并找出最适合您的方法。安装 MSI 的命令就是 MSI 本身,您不需要像使用 deb/rpm 包那样使用任何其他程序显式运行它。

    【讨论】:

    • 听说MSI是数据库文件。所以我认为它不是可执行文件,而是可执行文件的输入文件,即安装程序。我说的对吗?
    • 在幕后,它可能是;我不确定它是直接执行并使用 Windows Installer 服务,还是从技术上讲它是由 Windows Installer 打开的文件。但从用户的角度来看,MSI 可以与 EXE 一样运行。
    • MSI 文件真的是可执行文件吗?
    • 查看我之前的评论。
    • MSI 不是可执行文件。可执行文件不需要任何第三方程序即可运行,而 MSI 文件则需要。根据您的参考,.cmd 或 .bat 文件也可以是可执行文件,但它们需要系统上存在命令提示符。 .cmd 和 .bat 文件也不是可执行文件。 .doc、.jpg、.mp3 等也不是。
    猜你喜欢
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多