NSIS Automatic and Silent Update

I am currently creating an application and want it to have an installer and automatic updates for it.

Dropbox, Spotify and Chrome are awesome when upgraded without comment. So I looked at the Dropbox Roaming Folder in AppData and found a file called DropboxUpdateHelper.exe with the NSIS icon. In the Spotify folder, I could find SpotifyHelper.exe and mention NSIS in the Terms.

Is there a tutorial on installing the application inside the Roaming folder and there is no silent automatic update? I am not tied to NSIS, but prefer open source and free installer.

+4
source share
2 answers

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 ...

+1
source

It is easy to download files from the Internet using NSIS (there are several plugins for this purpose: NSISdl, InetC, ...), but this functionality is more related to encoding.

There is no exact solution for this, since Anders said that you need to specify every detail to achieve the required behavior.

0
source

All Articles