What is the best way to deploy a VB.NET application?通常,当我构建VB.NET程序时使用ClickOnce,但它也有一些缺点。我从没真正使用过其他东西,所以我不确定 ClickOnce的缺点:
ClickOnce的优点:
Windows Installer也会执行这些操作吗?我知道它没有任何ClickOnce缺点,但是很高兴知道它是否也具有ClickOnce优点。 更新: 您看过WiX吗? http://wix.sourceforge.net/ 它使用XML文件构建Windows安装程序,并且如果您想对安装程序等进行虚化,则可以使用其他库。我承认对于我来说,开始学习的过程是中等的,但是后来我能够轻松地构建第二个安装程序。 如果需要,它将处理更新和其他项目,并且您可以将文件夹权限等应用于安装程序。它还可以让您更好地控制文件的确切安装位置,并且与所有标准化的Windows文件夹约定兼容,因此您可以指定" PROGRAM_DATA"或类似的名称,并且安装程序知道将其放置在C:\\\\ Documents中和Settings \\\\ All Users \\\\ Application Data或C:\\\\ ProgramData,具体取决于您运行的是XP还是Vista。 有传言称Office 2007和Visual Studio 2008使用WiX来创建其安装程序,但我无法在任何地方进行验证。我确实相信它是由某些Microsoft内部人员开发的。 我同意约瑟夫(Joseph)的观点,我对ClickOnce的经验适用于绝大多数项目,尤其是在企业环境中,它使构建,发布和部署变得容易。在ClickOnce中,实施"强制升级"以确保用户在运行时具有最新版本非常容易,这也是我使用它的主要原因。 ClickOnce的问题:在公司环境中,代理服务器存在问题,解决方法也不尽人意。在这种情况下,我不得不从UNC路径中部署了一些应用程序...但是您不能一直这样做。在您要查找可执行文件或创建桌面快捷方式之前,它的"沙盒"非常有用。 尚未在2008年之前部署,因此不确定这些问题是否仍然存在。 如果您有需要与产品一起安装的第三方组件,则 ClickOnce可能会出现问题。您可以通过为组件创建安装程序来在某种程度上避免这种情况,但是,通过ClickOnce部署,您必须创建逻辑来更新所述组件安装程序。 我前世曾使用Wise For Windows Installer创建安装软件包。虽然使用它创建升级不是像ClickOnce那样自动进行的,但是当涉及到需要注册/添加的其他组件时,它们更加精确,并且省去了很多麻烦。 我不认为有任何简单的方法可以使Windows Installer项目具有ClickOnce的易用性或可升级性。我将ClickOnce用于开发的所有内部.NET应用程序(控制台应用程序除外)。我发现在企业环境中,易于部署胜于缺乏灵活性。 创建一个依赖于EXE的安装程序项目(这又取决于它的需求)是一个非常简单的过程-但是您至少需要VS Standard Edition。 在安装程序项目中,您可以创建自定义任务和对话框步骤,以执行您编写的所有代码。 缺少的是通过ClickOnce获得的自动升级和版本检查功能。您仍然可以内置它,但这不是自动的。 |