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

一般来说,当我使用ClickOnce创建VB.NET程序时,它有一些缺点。我从来没有真正使用过别的东西,所以我不确定 我的选择是什么。

下降到ClickOnce:

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

优点ClickOnce:

    它的工作原理。奇妙的。它的构建 进入VisualStudio 2008 express。
  • 可以轻松升级 应用

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

Update: I ended up using Wix 2 (Wix 3 was available but at the time I did the project, no one had a competent tutorial). It was nice because it supported the three things I (eventually) needed. An optional start-up-with-windows shortcut, a start-up-when-the-installer-is-done option, and three paragraphs of text that my boss thinks will keep uses from clicking the wrong option.

0
额外 编辑
意见: 3

5 答案

你有没有看过维克斯呢?

http://wix.sourceforge.net/

它使用XML文件构建Windows安装程序,并且如果想要安装安装程序等,可以使用其他库。我承认,对于我来说,学习曲线在开始时处于中等水平,但之后我能够毫无麻烦地构建第二个安装程序。

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

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

0
额外
听起来不错。将不得不检查出来。
额外 作者 Kevin Fairchild,

如果您的第三方组件需要与您的产品一起安装,ClickOnce可能会有问题。您可以通过为组件创建安装程序来避免这种情况,但是通过ClickOnce部署,您必须创建更新所述组件安装程序的逻辑。

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

0
额外

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

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

缺少的是使用ClickOnce获得的自动升级和版本检查魔法。你仍然可以建立它,它不是自动的。

0
额外

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

0
额外

我同意约瑟夫的观点,我在ClickOnce方面的经验对于绝大多数项目尤其如此,因为它使得构建,发布和部署变得简单。实施“强制升级”以确保用户在ClickOnce中运行时具有最新版本,这是我使用它的主要原因。

ClickOnce的问题:在企业环境中,它与代理服务器存在问题,解决方法不甚理想。我不得不在UNC路径的这些情况下部署一些应用程序......但是你无法一直这么做。它的“沙箱”非常棒,直到你想找到可执行文件或创建桌面快捷方式。

尚未从2008年开始部署,因此不确定这些问题是否仍然存在。

0
额外