通常当我构建VB.NET程序时使用ClickOnce但它有一些缺点。我从来没有真正使用过任何其他东西,所以我不确定 我的选择是什么。
下载到ClickOnce:
ClickOnce的优点:
Windows Installer也会这样做吗?我知道它没有任何ClickOnce缺点,但知道它是否也有ClickOnce专业人员会很高兴。
更新: 我最终使用Wix 2(Wix 3可用,但在我完成项目的时候,没有人有一个称职的教程)。这很好,因为它支持了我(最终)需要的三件事。一个可选的启动窗口快捷方式,一个启动时安装程序完成选项,以及我的老板认为将保留的三段文本将用于点击错误的选项。
答案 0 :(得分:6)
你见过WiX吗?
它使用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)
我在以前的生活中使用Wise For Windows Installer来创建安装包。虽然创建升级并不像ClickOnce那样自动化,但是当涉及到需要注册/添加的其他组件时,它们更加精确且不那么令人头疼。