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

Translate

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

ClickOnce的缺点:

  • 由多个文件组成-与管理一堆文件和由下载器下载这些文件相比,分发一个文件似乎更容易。
  • 您必须为CD安装再次构建它(对于最终用户没有互联网的情况)
  • 程序不会最终出现在“程序文件”中-最终它会隐藏在某些应用程序的catch文件夹中,这使得快捷方式变得更加困难。

ClickOnce的优点:

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

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

更新资料:我最终使用了Wix 2(Wix 3可用,但在我进行项目时,没有人提供适合的教程)。很好,因为它支持了我(最终)需要的三件事。可选的Windows启动启动快捷方式,安装程序启动时启动选项以及我老板认为可以避免点击错误选项的三段文字。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

你看过WiX吗?

http://wix.sourceforge.net/

它使用XML文件构建Windows安装程序,并且如果您想夸化安装程序等,还可以使用其他库。我承认对我而言,学习曲线在开始工作时处于中等水平,但是后来我能够轻松地构建第二个安装程序。

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

谣言是Office 2007和Visual Studio 2008使用WiX来创建其安装程序,但我无法在任何地方进行验证。我确实相信它是由某些Microsoft内部人员开发的。

来源
Translate

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

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

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

来源
Translate

创建一个依赖于EXE的安装程序项目(这又取决于它的需求)是一个非常简单的过程-但是您至少需要VS Standard Edition。

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

缺少的是通过ClickOnce获得的自动升级和版本检查功能。您仍然可以内置它,但这不是自动的。

来源
Translate

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

来源
Pat
Translate

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

我前世曾使用Wise For Windows Installer创建安装程序包。虽然使用它创建升级不是像ClickOnce那样自动进行的,但是在涉及需要注册/添加的其他组件时,它们却更加精确且省事。

来源