【问题标题】:Do a Windows application ifself contain the .NET framework?Windows 应用程序本身是否包含 .NET 框架?
【发布时间】:2009-08-28 06:48:58
【问题描述】:

我有一个包含部署程序的 Windows 应用程序。

  1. 部署程序本身是否包含.NET 框架的副本? 还是我们必须显式安装它? 当我签入解决方案资源管理器时,它会在部署程序项目下显示检测到的依赖项下的 .NET 框架?
  2. 我的 Windows 应用程序连接到 Internet 以验证注册用户。安装时是否需要配置一些端口(或类似的东西)?另外,如何检查我的应用程序使用哪个端口连接到 Internet?

【问题讨论】:

    标签: setup-deployment


    【解决方案1】:

    关于#1,正如 Xstahef 所说,您需要先决条件 .NET 框架。

    您可以将 .NET 可再发行组件放入您的安装程序中,如果您检测到未安装 .NET 运行时,则提示用户运行并安装包含在您的安装程序中的 .NET 可分发组件(这就是我们前一段时间所做的, InstallShield 为我们提供了此功能)。但这可能不值得推荐:.NET 运行时的大小已经增长了很多(取决于您需要在客户端机器上安装的版本),并且许多客户(至少是受过教育的客户)不相信从安装运行时您的安装程序。此外,在安装中包含第三方组件之前,您可能需要咨询公司的法律部门。

    【讨论】:

      【解决方案2】:
      1. 这取决于您的部署项目(Visual StudioInstallShield?)。但通常,您需要强制安装.NET(先决选项)。默认情况下,.NET 不包含在部署项目中。

      2. 这取决于您要连接互联网的方式。

      【讨论】:

      • 感谢您的回复。我正在使用我的 Windows 应用程序中的 Web 服务,然后连接并验证。
      • 如果你的 web 服务在 80 端口,你的防火墙不会有问题(如果是你的端口问题)
      【解决方案3】:
      1. .NET 在VM 中运行,因此您需要安装框架才能实际运行它。就像您需要为这些各自的媒体提供FlashJava。 Microsoft 有 .NET 框架的可再发行包。因此,您可能可以将它们合并到您的安装程序中。如果您的目标是 1.1 或 2.0,大多数人可能不需要它。

      2. 只要您不尝试将 in 到客户端计算机,那么您不需要像 UPnP 这样的特殊内容来 [尝试] 如果它们位于NAT 路由器后面,则打开一个端口。

      【讨论】:

        【解决方案4】:

        Xenocode 确实允许在绝对干净的 PC 上运行这样的应用程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-04
          • 1970-01-01
          • 1970-01-01
          • 2011-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多