Prerequisites and preparations
We assume you have already:
- upgraded your database to version 7.1 using Serversetup.exe
- upgraded CRM Win/Web to version 7.1
- upgraded the NetServer used by Customer Service to version 7.1
The version number for Customer Service, CRM Web/Win, NetServer and the database must all correspond. When you want to upgrade one of these products, the other products must also be upgraded at the same time. When the database is upgraded, all the products must be upgraded to the appropriate version.
For the use of FastCGI (not required, and to be explained later) you need IIS version 7.5 or a patched version of 7.0 as the Microsoft implementation of FastCGI functionality in IIS 7.0 is not correct. Earlier versions of IIS are not compatible with FastCGI technology. The upgrade.exe program will tell you if your IIS need a Microsoft patch or hotfix, and print some url's of where to download it if necessary.
Upgrade.exe will want to remap attachment files to sub folders, this might take some time if you have many and/or large files. You can choose to skip this step and run upgrade.exe later if you are not prepared to keep your site down until all your attachment files are moved into place. This is explained further later in this document.
The install process
Run the Customer Service installer, click the radio button for "Maintain or upgrade an existing instance", and select the particular installation you want to upgrade in the list. Click next.
When the installer finishes, you will need to run the upgrade.exe command. This must be done after every Customer Service upgrade, and the particulars for upgrading from version 7.0 to version 7.1 is explained in the next section.
When the installer is done upgrading the files to version 7.1, you need to run the command upgrade.exe from a shell prompt (run cmd.exe from the start menu and navigate to the bin directory in the Customer Service installation folder where upgrade.exe resides) .
Make sure the upgrade.exe process is run with elevated/admin rights, or you might get errors during the upgrade process because upgrade.exe may not be allowed to do certain changes to the system. You may have to start cmd.exe with a right click on a short cut and select run as administrator to achieve this.
The command upgrade.exe must always be run after an upgrade, as it might perform configuration or data transformation tasks. There is no harm in running upgrade.exe more than once, as it will keep tabs on what is done already and what is not.
The upgrade.exe program will ask you some questions, of which there are three main new areas of interest.
- The web site name: From version 7.1, upgrade will ask you for the IIS site name, and will check to see if it exists. This is not the same as the domain name - it is the name of the site in IIS manager.
- FastCGI: We now recommend you run Customer Service using FastCGI technology. FastCGI is more efficient and will increase application responsiveness and decrease server load, but requires some additional IIS settings be done, and upgrade.exe will attempt to do this for you. If upgrade.exe encounters problems with your IIS version or administrative privileges, it will try to warn you and offer to abort the upgrade process so you can fix the issue and re-run upgrade.exe. The upgrade.exe program will also tell you if your IIS need a Microsoft patch or hotfix, and print some url's of where to download it if necessary.
- Attachments: The attachment folder can potentially have hundreds of thousands of files, which might make it inefficient and difficult to browse manually with a file manager, and we will now store them in sub directories with a maximum of 10.000 files in each. Which folder each file is allocated to depends on the file id number, the first 10.000 numbers goes into the first folder and so on. This means that there may be less than 10.000 files in any attachment sub folder, if some of the id's are not in use or if an attachment was deleted. You can opt to delay moving the attachments, if you expect it to take a lot of time, so you can unfreeze your Customer Service site quicker. Run upgrade.exe later to complete this process.
When using FastCGI, the web server does not need to start a new process for each request. The process is instead alive in memory for a while, retaining some of its data and only needing to process a lot of initialization logic once and not for each request. This significantly improves responsiveness and decreases server load.
There is an additional benefit to use another extension than .exe, and that is that Customer Service links in emails, also e-marketing emails, will not be viewed as a potential threat by spam detection filters the same way an .exe file extension url would.
The upgrade.exe process will ask if you want to set up FastCGI, and if you choose to do this it will try to configure your IIS site as this can be tedious to do manually as it involves mapping each .exe file to an empty place holder .fcgi file in IIS FastCGI setup. This is done on the IIS server level, not on the site level, and it's preferable to let upgrade.exe set this up automatically and later change timeout settings etc. if one wishes from the IIS manager FastCGI settings section.
After configuring FastCGI, Customer Service will generate url's that end in .fcgi instead of .exe, but the .exe file ending will also work. If you decide you do not want to use FastCGI after all, you can just change a setting in the registry table in the database and .exe links will be generated instead of .fcgi, and everything will work as before.
Flushing the cache
After upgrading to 7.1, you should flush the cache system of CS. To do this, navigate to http://your-site/scripts/rms.exe?action=debug and click the "Flush caches"-button at the bottom: