【问题标题】:Windows installer and setup application into one file?Windows 安装程序和设置应用程序放在一个文件中?
【发布时间】:2012-07-25 06:46:32
【问题描述】:

我已经使用 Visual Studio 在 C# 中编写了一个应用程序,我已经制作了一个项目设置文件,该文件在我的调试中为我创建了文件。

Windows 安装程序和安装应用程序都是必需的,但我想将它们合并为一个,例如当您下载应用程序时,安装程​​序只是一个文件。

有人可以告诉我如何做到这一点,或者只是将我指向一个好的来源。

提前致谢。

【问题讨论】:

  • 当您生成 MSI 时,应该可以将文件嵌入到安装程序数据库中。您是使用“经典”MSI 方法还是使用 WiX(基于 XML)?
  • 只是视觉工作室,设置项目,一步一步地跟着这个:dreamincode.net/forums/topic/…
  • 只使用 MSI 文件。你不需要合并这两个。
  • 我不确定 MSI 文件是什么,但我正在查找它。我将如何使用或创建它?
  • 我需要知道,如何使用它们,如何创建它们,如何填充它们,它们如何工作等等,任何好的链接,谷歌目前都让我失望了。

标签: c# visual-studio-2010 windows-installer installation


【解决方案1】:

如果您使用 Visual Studio 的内置安装项目模板来生成安装程序,那么您根本不需要 setup.exe 文件。

您唯一需要分发的是.msi 文件。它包含用户安装应用程序所需的一切。 setup.exe 文件只是一个存根,它根据.msi 文件中的信息启动安装例程,该文件是Windows Installer 用来安装应用程序的数据库。如果安装了 Windows Installer 服务,这些文件可以通过双击它们来启动,如果你不想分发setup.exe 引导程序,你真的不需要。

您可能希望分发setup.exe 文件的一些特殊原因是:

  • 出于某种原因,您预计您的用户可能没有在其计算机上安装所需版本的 Windows Installer。如今,这种情况变得非常罕见,尤其是考虑到宽带互联网连接的广泛性以及操作系统供应商在推动自动更新方面的积极性。但是,如果您的用户“断开连接”(在许多意义上),您可能需要使用安装程序可执行文件来验证是否存在必要版本的 Windows 安装程序,如果不存在则安装它,然后启动您的.msi 文件以执行安装。 (如果您没有安装 Windows Installer,则无法运行 .msi 文件。)

  • 您需要支持多种语言。在这种情况下,setup.exe 文件可以在启动安装程序之前对.msi 文件执行语言转换。

  • 您希望按顺序管理多个.msi 文件的安装。 Windows Installer 的设计方式很难链接.msi 文件的安装,这使得在安装自己的应用程序文件之前或之后安装依赖项变得困难。 setup.exe 文件不受 Windows Installer 的限制,因此可用于链接这些并精确管理安装顺序。

  • 一般来说,创建您自己的setup.exe 文件(或使用众多第三方安装程序软件包之一为您创建)会显着提高您的灵活性。您基本上可以完全控制安装过程,而不必遵循 Windows Installer 的规则。

但在 83.44% 的情况下,这不是必需的,您应该遵循更简单的方法,即使用 .msi 文件。这还允许系统管理员跨他们管理的机器(例如,整个公司网络)自动安装,这是原始可执行文件不支持的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 2013-12-17
    • 2010-10-06
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    相关资源
    最近更新 更多