How to Prevent Changing the IIS Site Bindings During an Upgrade
If it is possible, how can I prevent the site binding for the web site I installed from changing during an upgrade?
I configured my basic msi project to create an IIS web site with web apps services, app pools (each associated with its own component) in my installer project to use port "443" but needed to programmatically set the web site's site bindings to use "https" protocol and have the "Require SSL" checkbox selected and it installs successfully.
When I perform an upgrade, however, it reverts the site bindings prototype back to "http" and unchecks the "Require SSL" checkbox. I intentionally do not programmatically set these during an upgrade. I would rather the installer just not change this.
I noticed that the upgrade process removes the web site, all of the web applications, services and app pools and reinstalls them based on how it is configured in IIS.
I believe that because it removes them from IIS and then installs them is why the site bindings are back to use "http" and unchecks the Require SSL checkbox.
I think that because the web site, web apps, web services and app pools are associated with a component that when an upgrade occurs and removes the components that, that is why the items in IIS are removed and may be the reason why the site bindings change back to "http" and have the "Require SSL" checkbox unchecked.
Is there a way to prevent an upgrade from removing the site bindings that I had to programmatically configure?