Geo*_*iou 3 c# clickonce windows-installer
我应该使用ClickOnce或Windows安装程序来使我的应用程序自动更新吗?
我的情况是,我有一个C#Windows应用程序,它运行MySQL查询到我通过网络托管服务(webmasters.com)维护的数据库.
该程序现在由三个不同的人使用,我只是将发布文件夹粘贴到他们的计算机上,并在他们的计算机上安装MySQL连接器和.NET framework 4客户端,然后运行可执行文件(.exe).这听起来不太专业,我在想,因为我喜欢这个项目,为什么不做一些正确而专业的东西而不是补丁和修复,并从我的经验中学习?
所以我想创建一个设置和部署项目,用于将程序安装到其他计算机.此外,在此安装和部署项目中,将包含mysql连接器和.NET框架,并将随软件一起安装它们.一个安装程序.
此外,我认为该程序需要更新服务,以便每次我更改代码中的某些内容时,我都不必跑到人们的家中来更改程序.所以我创建了一个FTP站点,我可以上传文件,当程序运行时,它将检查FTP站点上的更新,如果有任何新文件上传,它将下载它们并继续新版本.我读到了ClickOnce应用程序,但我不太明白这是如何工作的.
我已经阅读了部署C#应用程序(MSDN),但是我应该选择什么来实现这一目标并使我的程序更专业,而不仅仅是学生的作业?
需要注意的一点是,ClickOnce始终安装在当前用户的上下文中.如果他们需要将此应用程序提供给登录到该计算机的任何人,则此模型将失败.
使用Visual Studio中的安装工具的MSI安装程序肯定会为您提供更灵活的安装体验.除了您定义应用程序文件夹中的内容以及启动文件夹的外观之外,它还允许自定义安装程序组件.因此,如果您需要让人们安装您的应用程序,但根据其位置输入服务器路径.
您跳过的一个元素是其他安装工具.市场上主要有两种:Wise和Install Shield.这些也是很好的工具,我知道你至少可以在Visual Studio中构建Install Shield.专业版本可以更轻松地合并路径安装程序,避免David Stratton提到的卸载/安装问题.
完成所有这三项后,我更喜欢通过Windows应用程序的拖放(XCOPY)部署进行部署,这意味着首先手动安装先决条件.
所有这些都表示,所有方法都有优点和缺点,但在95%的部署中,部署到我们自己的用户,我更喜欢XCOPY部署.
如果我向外部客户提供软件,我会选择使用专业工具构建的安装程序.
也就是说,微软提供了一篇关于在ClickOnce或MSI安装程序之间进行选择的好文章.它根本不涉及XCOPY,但是再一次,XCOPY很容易理解它可能没有必要.