A specification for side-by-side (shim) installs and upgrades, and a reference implementation using NSIS for the installer and C# for the app/client