Q:

How to do incremental software update and restart like Chrome or Firefox

I have written a Java app and an NSIS installer.  Works great.  The issue is when there is a new version, the full installer needs to be downloaded and run (and possibly the old version uninstalled first). 
How do you achieve the "Help >> Check for updates" system that Chrome, Firefox, dozens of other applications use to make staying current less painful. 
Any guidance as to the direction to take would be appreciated. 
Thanks. 

A:

You can use the VPatch nsis plugin (part of the default install) to generate patches so you don't have to do a full install.