What would be the best way to deploy upgrades to a piece of software with the following requirements:
The upgrade:
- Must be run from a client machine, not a server.
- Must Show a dialog to select a network location and copy files to a share.
- Must show a dialog to enter SQL Server connection information and the upgrade must connect to SQL Server to run an upgrade script.
- Must not change anything on the client machine from which the upgrade is run. (Nothing in Add/Remove programs, registry, etc. I.e. no Windows Installer.)
- Must not rely on any additional dlls or frameworks. The user must be able to download a single file and run it from Windows XP SP2 without having to install anything else.
Some things I have looked into:
- Batch files (can’t show a dialog to allow the user to enter connection information)
- OSQL (can’t show a dialog and can’t copy files)
- WiX (runs on top of Windows Installer so it puts things on the client machine from which it is run)
- Custom C#/VB app (requires .NET framework)
- Winzip/WinRAR (can't show a dialog, can’t run SQL Scripts)