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

ClickOnce的缺点:

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

ClickOnce的优点:

  • 有用。 奇妙的。 它内置于VisualStudio 2008 Express中。
  • 使升级应用程序变得容易。

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

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

===============>>#1 票数:6 已采纳

你见过WiX了吗?

http://wix.sourceforge.net/

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

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

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

===============>>#2 票数:2

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

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

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

===============>>#3 票数:1

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

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

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

===============>>#4 票数:1

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

===============>>#5 票数:1

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

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

  ask by Grant translate from so

未解决问题?本站智能推荐: