I have an ASP.NET server that provides its client as an MSI download (similar to CCNet/CCTray). There can be more than a single server (for example, for dev/testing/production, but there may be different production instances).
So client has to know server URL. I can not ask users for URL because it does not really make much sense for them, they do not know of any other servers anyway. So the MSI should have the server URL included.
Now, I can pre-build different versions of MSI for different environments (since there are already distinct build steps for these dev/test anyway), but this does not solve a question of several productions where the product is already built.
So I think server should modify the MSI and add the correct URL before serving it. Is it possible without rebuilding the msi? What is the easiest way to achieve this?