NSIS has an INetC plugin that can be used to download things from the Internet, but I don't know if there is a tutorial on automatic updates there. You can also take a look at the VPatch plugin ...
There are many variables here:
- If your main application is looking for updates or just starts the update program when the application (or windows) starts, so that it can check?
- Are files signed on the server or do you have other ways to detect invalid / corrupt / MitM updates ?
- Do I need access control / DRM before downloading / applying updates?
- How will you handle updates to major version versions? Will you support more than one major version or push updates?
- Do you need administrator rights to upgrade? UAC handling? A.
- How are you going to support the upgrade from 1.0 to 1.2? Upgrade to 1.1 first, or support all possible ways to upgrade a minor version?
I am sure that there are many other problems that you also need to think about. You should probably try to answer all these questions before you start coding. During development, you may find other questions or completely change the design.
IMHO, this is not a simple question, and I donβt think you can find an insert solution that fits your exact design / requirements ...
source share