I develop a number of open source applications, some of them are updated and some are just a proof of concept.
When it came to deciding the best method of upgrading software I chose to use the ClickOnce route that is present within Visual Studio, not only does it automatically install any necessary .Net Framework files missing but it can also download updates from a specified web server on application start-up as well as at a time of my own choosing.
I feel it's the simplest way of pushing out updates to my applications, there are probably more elaborate methods but bearing in mind my applications are open source and there are no corporate requirements or deadlines I feel ClickOnce is more than suitable for the purpose.
Note: I write my applications in C# and either .Net 3.5 or .Net 4.
使用 WIX 的 Windows 安装程序在升级方面变得非常简单和强大,但是如果您在安装程序中执行任何复杂的操作,您可能真的需要考虑在应用程序中构建自动更新。只要您可以依赖您的客户端运行 .net,那么制作为您执行此操作的应用程序就非常容易。
Windows installer with WIX has become exceedingly simple and competent regarding upgrades, however if you're doing anything complex in your installer you may really want to ponder building auto-update into your applications. As long as you can depend on your clients to be running .net it's pretty easy to make apps that do this stuff for you.
If you are looking at automating the upgrade process, I'd assume that you want to do it over the internet or any other corporate network.
So in this case, the best bet would be to develop a client server based installer, where the new files (or any package which contains such files) and the installation script (which can be anything ranging from a batch file to a custom written installer with your own rules of the installation steps) would be hosted in the server and you will have a thin client running on the client machines which would just download the packages and the scripts and start executing them on the client.
Now, how much of 'customization' that you want to do in the installer engine depends on the flexibility that you need.
发布评论
评论(4)
我开发了许多开源应用程序,其中一些已更新,有些只是概念验证。
在决定升级软件的最佳方法时,我选择使用 Visual Studio 中提供的 ClickOnce 路径,它不仅会自动安装缺少的任何必要的 .Net Framework 文件,而且还可以从指定的 Web 服务器下载更新应用程序启动以及我自己选择的时间。
我认为这是向我的应用程序推送更新的最简单方法,可能还有更复杂的方法,但请记住我的应用程序是开源的,并且没有公司要求或截止日期,我认为 ClickOnce 非常适合此目的。
注意:我用 C# 和 .Net 3.5 或 .Net 4 编写应用程序。
链接:选择 ClickOnce 更新方法
I develop a number of open source applications, some of them are updated and some are just a proof of concept.
When it came to deciding the best method of upgrading software I chose to use the ClickOnce route that is present within Visual Studio, not only does it automatically install any necessary .Net Framework files missing but it can also download updates from a specified web server on application start-up as well as at a time of my own choosing.
I feel it's the simplest way of pushing out updates to my applications, there are probably more elaborate methods but bearing in mind my applications are open source and there are no corporate requirements or deadlines I feel ClickOnce is more than suitable for the purpose.
Note: I write my applications in C# and either .Net 3.5 or .Net 4.
Link: Choosing a ClickOnce update method
或者您可以使用第三方组件更新程序组件
这是文档。
Or you can use a third party component Updater Component
Here's the documentation.
使用 WIX 的 Windows 安装程序在升级方面变得非常简单和强大,但是如果您在安装程序中执行任何复杂的操作,您可能真的需要考虑在应用程序中构建自动更新。只要您可以依赖您的客户端运行 .net,那么制作为您执行此操作的应用程序就非常容易。
Windows installer with WIX has become exceedingly simple and competent regarding upgrades, however if you're doing anything complex in your installer you may really want to ponder building auto-update into your applications. As long as you can depend on your clients to be running .net it's pretty easy to make apps that do this stuff for you.
如果您正在考虑自动化升级过程,我假设您希望通过互联网或任何其他公司网络来完成此操作。
因此,在这种情况下,最好的选择是开发一个基于客户端服务器的安装程序,其中新文件(或包含此类文件的任何包)和安装脚本(可以是从批处理文件到自定义编写的安装程序的任何内容) (按照您自己的安装步骤规则)将托管在服务器中,并且您将在客户端计算机上运行瘦客户端,该瘦客户端只需下载软件包和脚本并开始在客户端上执行它们。
现在,您想要在安装程序引擎中进行多少“自定义”取决于您需要的灵活性。
If you are looking at automating the upgrade process, I'd assume that you want to do it over the internet or any other corporate network.
So in this case, the best bet would be to develop a client server based installer, where the new files (or any package which contains such files) and the installation script (which can be anything ranging from a batch file to a custom written installer with your own rules of the installation steps) would be hosted in the server and you will have a thin client running on the client machines which would just download the packages and the scripts and start executing them on the client.
Now, how much of 'customization' that you want to do in the installer engine depends on the flexibility that you need.