【问题标题】:.NET setup projects using Visual Studio 2008使用 Visual Studio 2008 的 .NET 安装项目
【发布时间】:2010-10-14 18:10:27
【问题描述】:

当您为 Windows/Console 应用程序创建安装项目时,您会发现有两个输出。

  1. Setup.exe
  2. .msi

setup.exe 和 .MSI 有什么作用?安装时应该使用哪一个?

我发现我可以同时使用这两种方式来安装应用程序。但与 .MSI 文件相比,Setup.exe 是相当小的文件。

问题

  1. 如果我必须运送给客户。我无法发送两个文件。将这两个文件合并为一个安装文件的最佳方法是什么?

  2. 我读到 Setup.exe 是一个引导程序,它检查 .NET 框架,然后调用 .MSI 文件。对吗?

  3. 我无法测试 .NET 框架的不可用性,因为我是 .NET 开发人员,而且我的团队在 .NET 上工作并安装了 .NET。我不想通过卸载 .NET 框架和测试安装应用程序来冒险使用 Visual Studio。

它如何安装 .NET 框架?它是 200 MB 奇数,但我的设置小于 3 MB。

它是否提供下载或其他选项?

任何帮助表示赞赏。

谢谢,

【问题讨论】:

  • 与您的问题略有相关。查看虚拟 PC。它对于测试软件部署非常有用。它也是免费的。您确实需要您使用的 Windows 副本的许可证,但我认为 MSDN 涵盖了如果您仅使用虚拟进行测试。

标签: .net deployment installation windows-installer


【解决方案1】:

MSI 是您应用程序的安装程序。安装文件是一个引导程序,将检查 pre-reqs。就像 Windows 安装程序的正确版本一样。我认为这也是 setup.exe 将允许下载正确版本的 .NET 框架。 您可以单独使用 .MSI,不能只使用 setup.exe。

您是正确的,安装程序允许下载正确版本的 .NET 框架。

有多种方法可以合并 MSI 和 Setup.exe 以创建单个 exe。诸如自解压 zip 或 iexpress 之类的东西。

为什么你不能同时发送两个文件呢?我认为,如果您在服务器上发布设置和 msi 以供下载,则设置会在需要时找到并下载您的 MSI。

【讨论】:

  • 很好的答案,但它并不完全正确。由于安装的事务特性(至少到当前 MSI 版本),一个 MSI 不允许启动另一个 MSI。因此,您自己的 MSI 无法启动 .NET Framework 安装程序,它必须由单独的引导程序启动。
  • 如果您有任何关于如何将引导程序和 MSI 合并到新 MSI 的更多信息,我将非常感兴趣。我认为这是不可能的。但是,您可以使用 WinZip 或 IExpress 等工具来创建自解压安装程序。
  • @divo - 1)你是对的,我已经更正了我的答案。和 2) 我的意思是合并成一个 exe,而不是一个 MSI。我已经澄清了我的答案。
【解决方案2】:

我认为单独 setup.exe 的原因是因为您不能同时运行两个 MSI 安装。因此,如果您的应用程序需要 MSI 安装的先决条件,您的安装将遇到麻烦。

关于设置框架,您可以在项目设置中包含 .NET 框架作为应用程序的先决条件,如果目标计算机上尚未安装,是否会安装该框架。您可以进一步选择打包安装或从网上下载

【讨论】:

    【解决方案3】:

    Setup.exe 确实是一个引导程序,用于检查客户端计算机上是否存在先决条件。这包括 .Net 框架,但也包括例如 SQL Compact Edition,当您在项目的属性中选择它时。它不会卸载任何东西。当需要先决条件时,它会提供从 Internet 下载或停止安装的选项。

    MSI 文件是包含您的软件的 Windows 安装程序文件。此 MSI 负责将您的产品安装到客户端机器上。如果您仅提供 MSI,则该产品将仅安装在启动 MSI 之前已安装所有先决条件的计算机上。

    如果您想进行单个文件分发,您可以使用 iexpress 将 2 个文件合并到一个 EXE 中。 (Iexpress 是一个随 Windows 一起分发的软件,允许您创建安装包。)

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多