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

时间:2008-08-06 15:25:51

标签: vb.net visual-studio installer clickonce

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

下载到ClickOnce:

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

ClickOnce的优点:

  • 有效。奇妙的。它已经建成了 进入VisualStudio 2008 express。
  • 让升级变得容易 应用

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

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

5 个答案:

答案 0 :(得分:6)

你见过WiX吗?

http://wix.sourceforge.net/

它使用XML文件构建Windows安装程序,如果您想要安装安装程序等,还可以使用其他库。我承认,在开始工作时,我的学习曲线中等偏高,但之后我能够毫无困难地构建第二个安装程序。

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

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

答案 1 :(得分:2)

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

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

尚未部署到2008年以外,所以不确定这些问题是否仍然存在。

答案 2 :(得分:1)

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

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

缺少的是ClickOnce带来的自动升级和版本检查技巧。你仍然可以构建它,它不是自动的。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

如果您的第三方组件需要与产品一起安装,则ClickOnce可能会出现问题。您可以通过为组件创建安装程序来在某种程度上限制它,但是使用ClickOnce部署,您必须创建逻辑以更新所述组件安装程序。

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