繁体   English   中英

部署 VB.NET 应用程序的最佳方式是什么?

[英]What is the best way to deploy a VB.NET application?

通常当我在构建 VB.NET 程序时使用 ClickOnce 但它有一些缺点。 我从来没有真正使用过其他任何东西,所以我不确定我的选择是什么。

ClickOnce 的缺点:

  • 由多个文件组成 - 分发一个文件似乎比管理一堆文件和下载这些文件的下载器更容易。
  • 您必须为 CD 安装再次构建它(当最终用户没有互联网时)
  • 程序不会在程序文件中结束 - 它最终隐藏在某些应用程序捕获文件夹中,使其更难快捷访问。

ClickOnce 的优点:

  • 有用。 神奇地。 它内置在 VisualStudio 2008 express 中。
  • 使应用程序升级变得容易。

Windows Installer 是否也做这些事情? 我知道它没有任何 ClickOnce 的缺点,但很高兴知道它是否也有 ClickOnce 的优点。

更新:我最终使用了 Wix 2(Wix 3 可用,但在我做这个项目的时候,没有人有一个称职的教程)。 这很好,因为它支持我(最终)需要的三件事。 一个可选的 Windows 启动快捷方式,一个安装程序完成时启动选项,以及我老板认为可以防止用户点击错误选项的三段文字。

你见过 WiX 吗?

http://wix.sourceforge.net/

它使用 XML 文件构建 Windows 安装程序,如果你想幻想你的安装程序等,它还有额外的库可以使用。 我承认我的学习曲线在开始时处于中等高度,但之后我能够毫不费力地构建第二个安装程序。

如果您愿意,它将处理更新和其他项目,并且您可以将文件夹权限等应用于安装程序。 它还使您可以更好地控制要安装文件的确切位置,并且与所有标准化的 Windows 文件夹约定兼容,因此您可以指定“PROGRAM_DATA”或类似的内容,安装程序知道将其放在 C:\\Documents 和Settings\\All Users\\Application Data 或 C:\\ProgramData 取决于您运行的是 XP 还是 Vista。

有传言说 Office 2007 和 Visual Studio 2008 使用 WiX 来创建它们的安装程序,但我无法在任何地方进行验证。 我相信它是由一些微软内部人员开发的。

我同意 Joseph 的观点,我在 ClickOnce 方面的经验对绝大多数项目都非常有用,尤其是在企业环境中,它使构建、发布和部署变得容易。 在 ClickOnce 中实施“强制升级”以确保用户在运行时拥有最新版本要容易得多,这也是我使用它的一个主要原因。

ClickOnce 的问题:在公司环境中,代理服务器存在问题,解决方法不太理想。 在这些情况下,我不得不从 UNC 路径部署一些应用程序......但你不能一直这样做。 它的“沙箱”很棒,直到您想要找到可执行文件或创建桌面快捷方式。

2008 年之后还没有部署,所以不确定这些问题是否仍然存在。

创建一个安装程序项目,依赖于你的 EXE(这又取决于它需要的任何东西)是一个相当简单的过程 - 但你至少需要 VS 标准版。

在安装程序项目中,您可以创建自定义任务和对话步骤,允许您执行任何您编写的代码。

缺少的是您通过 ClickOnce 获得的自动升级和版本检查魔法。 你仍然可以内置它,它只是不是自动的。

我不相信有任何简单的方法可以使 Windows Installer 项目具有 ClickOnce 的易用性或可升级性。 我将 ClickOnce 用于我开发的所有内部 .NET 应用程序(控制台应用程序除外)。 我发现在企业环境中,部署的简易性胜过缺乏灵活性。

如果您的产品需要安装 3rd 方组件,则 ClickOnce 可能会出现问题。 您可以通过为组件创建安装程序来在一定程度上避免这种情况,但是对于 ClickOnce 部署,您必须创建更新所述组件安装程序的逻辑。

我以前曾使用 Wise For Windows Installer 创建安装包。 虽然使用它创建升级不像 ClickOnce 那样是自动的,但当涉及到需要注册/添加的其他组件时,它们更精确并且不那么令人头疼。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM