(Not sure this is the correct section to ask deployment-related questions. If not, please move topic to correct location )

I've written a class and dialog that check if there is an update available for a certain application and then download an updater that downloads the required files, deletes the old ones and puts the new ones on the correct place.

There are two things I'm not sure about how to best solve them.

1. How will I let the updater download the files? Download an archive and un-archive, or are there better solutions?

2. I now launch the updater from the application itself. How do I terminate the application from the updater (to be able to install the new version)?