代码之家  ›  专栏  ›  技术社区  ›  Grant

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

  •  8
  • Grant  · 技术社区  · 16 年前

    通常,当我构建一个vb.net程序时使用clickOnce,但它有一些缺点。我从来没有用过别的东西,所以我不确定 我的选择是什么?

    单击一次的缺点:

    • 由多个文件组成-似乎比管理一堆文件更容易分发一个文件,下载程序也更容易下载这些文件。
    • 您必须再次为CD安装构建它(当最终用户没有Internet时)
    • 程序不会以程序文件结尾-它最终隐藏在某个应用程序catch文件夹中,使其更难快捷访问。

    要单击的专业人员:

    • 它起作用了。神奇地。它建成了 到VisualStudio 2008 Express。
    • 便于升级 应用。

    Windows Installer也执行这些操作吗?我知道它没有任何ClickOnce的缺点,但如果它也有ClickOnce的优点,那就太好了。

    更新 : 我最终使用了wix 2(wix 3是可用的,但在我做这个项目的时候,没有人有一个合格的教程)。很好,因为它支持我(最终)需要的三件事。一个可选的Windows快捷方式启动,一个安装程序完成时启动选项,以及三段我的老板认为可以避免点击错误选项的文本。

    5 回复  |  直到 15 年前
        1
  •  6
  •   Dillie-O    16 年前

    你见过Wix吗?

    http://wix.sourceforge.net/

    它使用一个XML文件来构建Windows安装程序,如果您想想象您的安装程序之类的,还可以使用其他库。我承认,我的学习曲线是中等高的事情开始,但后来我能够建立第二个安装没有任何麻烦。

    如果您愿意,它将处理更新和其他项目,并且您可以向安装程序应用文件夹权限等。它还使您能够更好地控制要安装文件的确切位置,并与所有标准化的Windows文件夹惯例兼容,因此您可以指定“Program\u Data”或类似的内容,安装程序知道将其放入C:\Documents and Settings\All Users\Application Data或C:\ProgramData中,具体取决于您是否正在运行XP或Vista。

    有传言说,Office2007和VisualStudio2008使用wix创建了它们的安装程序,但我还没能在任何地方验证这一点。我相信是由微软内部的一些人开发的。

        2
  •  2
  •   Greg    16 年前

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

    ClickOnce的问题:在公司环境中,它与代理服务器存在问题,解决方法也不理想。在这些情况下,我必须从UNC路径部署一些应用程序……但您不能一直这样做。它的“沙盒”很好,直到你想找到可执行文件或创建一个桌面快捷方式。

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

        3
  •  1
  •   Greg Hurlman    16 年前

    创建一个安装程序项目,依赖于您的exe(这反过来又取决于它需要什么),是一个相当简单的过程-但您至少需要vs标准版。

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

    缺少的是你用clickOnce所获得的自动升级和版本检查的魔力。你还是可以把它建进去,只是不是自动的。

        4
  •  1
  •   Joseph Sturtevant    16 年前

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

        5
  •  1
  •   Pat    16 年前

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

    我在以前的生活中曾用wise for windows安装程序创建安装包。虽然用它创建升级并不像clickOnce那样是自动的,但是当涉及到需要注册/添加的其他组件时,它们更精确,也不那么令人头疼。

    推荐文章