【发布时间】:2012-06-15 21:25:11
【问题描述】:
我应该使用 ClickOnce 还是 Windows 安装程序来自动更新我的应用程序?
我的情况是,我有一个 C# Windows 应用程序正在运行 MySQL 对我通过网络托管服务 (webmasters.com) 维护的数据库的查询。
该程序现在由三个不同的人使用,我只是将发布文件夹复制粘贴到他们的计算机上,并在他们的计算机上安装 MySQL 连接器和.NET framework 4 客户端,然后运行可执行文件 (.exe)。这听起来不太专业,我在想,既然我喜欢与这个项目一起工作,为什么不做一些正确和专业的事情,而不是修补和修复并从我的经验中学习?
所以我想创建一个设置和部署项目,用于将程序安装到其他计算机上。同样在此设置和部署项目中,将包含 mysql 连接器和 .NET 框架,并将与软件一起安装它们。一个安装程序供所有人使用。
此外,我认为程序需要更新服务,这样每次我更改代码中的某些内容时,我就不必跑到人们家来更改程序。所以我创建了一个FTP 站点,我可以在其中上传文件,当程序运行时,它将检查 FTP 站点上的更新,如果上传了任何新文件,它将下载它们并继续使用新版本。我阅读了有关 ClickOnce 应用程序的信息,但我不太了解它是如何工作的。
我已阅读Deploying C# Applications (MSDN),但我应该选择什么来完成这一点并使我的程序更专业,而不仅仅是学生的家庭作业?
【问题讨论】:
-
我喜欢 xcopy 方式来自动检测网络分片文件夹中的最新版本文件。它更容易实现。例如,您可以将 bat 文件包含到安装项目中,如下所示:@echo off echo COPYING UPDATE。不要关闭此窗口。 xcopy "\\ShardFolder\*.*" "C:\Your WinForm Application\" /s /d /y echo 复制更新完成。开始启动应用程序。不要关闭此窗口。 cd "C:\Your WinForm Application Install Folder" YourWinFormAPP inputParameters exit 然后,在安装项目中创建快捷方式来调用这个bat文件。
标签: c# windows-installer clickonce