Steps to upgrade:
- Unzip the install package to a local directory.
- Copy release.config to web.config in the install root directory (local machine).
- Update the web.config: replace machine key with ours; comment out the SQL Express connection strings and uncomment the SQL standard strings; put in correct connecting string settings for the hosted site; uncomment trust level and change Medium to Full*; remove databaseOwner prefix.
- Backup hosted site to local machine using ftp client.
- Backup hosted database.
- Remove all files from root directory of hosted site.
- Remove all subdirectories except /Portals/0 which contains our site stuff.
- Ftp the site from local machine to hosted site.
- Switch the hosted site from ASP.NET 1.1 to 2.0
- Hit the hosted site for the first time - triggering an upgrade.
* Learned this after the fact - modules will not install since they're compiled on the fly and the zips are removed from the Install/Modules subdirectory. Full trust is needed to allow the ASP.NET application permission to read/load/delete the modules zips.
One observation I noticed is with User Defined Tables. I have several with a date column in them. In V4, UDTs have been enhanced to support Date, Time, and Timestamp types. For whatever the reason, the decision was made to upgrade an old Date datatype to a Timestamp and the time portion defaults to 12:00:00. Why they chose to do this is beyond me. If all we had was a date before, why not keep the datatype as Date. Perhaps it's because the old Date datatype was in actuality a full timestamp. For me, it meant going in to edit the UDT settings for dozens of tables to switch from Timestamp to Date.