How to implement a new version download and auto installation feature