This article details the steps necessary o upgrade from InstantKB 2016-4 to the InstantKB 2018 release. Before upgrading your existing InstantKB 2016-4 installation to InstantKB 2018 please ensure you read our InstantKB 2018 Release Notes and InstantKB 2018 Breaking Changes.
Downloading InstantKB 2018
To begin your InstantKB 2018 download you'll need to visit your My.InstantASP account. Visit your "Licenses" page and click the "Download" button to the right of the InstantKB 2018 listing.
Once you've downloaded the ZIP file please extract the contents of the ZIP file to your local computer or web servers desktop. In this example we'll extract the ZIP file to a folder called "InstantKB2018".
Upgrading Your InstantKB 2016 Database
Before you begin the database upgrade please ensure you create a backup your existing InstantKB 2016-4 database. Whilst it's highly unlikely you'll encounter any problems running our upgrade script it's always best practice to take a full backup of your current InstantKB 2016 database before running our upgrade script.
We would also suggest performing any upgrade locally or within a staging environment to familiarize yourself with the upgrade process. We would not suggest applying the upgrade directly into production without first testing the upgrade process locally against your database.
The basic steps to upgrade are listed below...
1. Open SQL Server Management Studio (SSMS) and connect to your InstantKB 2016-4 database. Make a backup of your existing InstantKB 2016-4 database
2. Restore your InstantKB 2016-4 database backup under a new name, for example "InstantKB2018". We will run our upgrade script against this new restored database to upgrade the underlying schema adding the new tables and stored procedures required for InstantKB 2018 whilst keeping all your existing data.
3. Again within SQL Server Management Studio go to File > Open and navigate to the folder where you extracted the InstantKB ZIP file. Open the \src\DatabaseScripts\UpgradeScripts\ folder. You will need to open the "2016-4_to_2018.sql" file.
4. Again within SQL Server Management Studio ensure your restored database is selected within database drop down list within the SQL Server Management Studio toolbar. Once your sure you have your restored database selected execute the 2016-4_to_2018.sql script against your restored InstantKB 2016-4 database. Once complete you will see the message "Query Executed Successfully".
At this point your restored InstantKB 2016-4 database has been upgraded to InstantKB 2018. You can now point a fresh installation of the InstantKB 2018 web application to your upgraded database. You'll notice all your existing data is preserved and you can login using the same credentials as before.
Install the InstantKB 2018 files
We would not suggest overwriting the 2016 files with the newer InstantKB 2018 files. You should install the new InstantKB 2018 web application alongside your existing InstantKB 2015 installation during the upgrade process. Once everything is working you can simply rename the folders to switch your live site or change the physical path for your web site within IIS.
1. Copy the InstantKB2018 folder to your c:\inetpub\wwwroot\ folder or alongside your existing InstantKB 2016-4 folder within staging or production.
2. Ensure the "InstantKB2018" folder is marked as a web application within IIS. If your opening the application via Visual Studio. this is not necessary for local development but will be required for deployment into a dev, UAT or production environment.
3. Navigate to your InstantKB 2018 installation folder within Windows Explorer. You will need to open the web.config file found in the root of your InstantKB 2018 folder within NotePad and update the database connection string to point to your restored & upgraded 2016-4 database. The default connection string is shown below...
<add name="InstantASP_ConnectionString" connectionString="Server=localhost;trusted_connection=true;database=InstantKB2018;" />
You can find your existing InstantKB 2016-4 database connection string within your InstantKB 2016-4 web.config and copy this into your InstantKB 2018 web.config.
4. Copy your InstantKB 2016 "Uploads" folder into the root of your new InstantKB 2018 folder. Overwrite the Uploads folder within InstantKB 2018 with your existing InstantKB 2016 Uploads folder.
5. Reapply any customizations you may have made to your previous InstantKB 2016 Classic skin to the newer InstantKB 2018 Classic skin.
Upgrading from an older release?
If your upgrading from an earlier version of InstantKB you may need to run additional database scripts. For example if your currently running InstantKB 2.0.1 you would need to run the following scripts in the order shown to fully upgrade your existing 2.0.1 database to the latest 2016 schema whilst keeping all your existing data...
You should always install the same version of the InstantKB files to march your InstantKB database version.
Copy Existing Uploads Folder
Copy your existing "Uploads" folder from your existing InstantKB 2016 installation folder into the root of your InstantKB 2018 folder. You will be prompted to overwrite the empty "Uploads" folder provided within the InstantKB 2018 installation. When prompted overwrite the empty InstantKB 2018 Uploads folder with your existing InstantKB 2016 Uploads folder. This will ensure uploads, profile pictures & images embedded within articles are still displayed correctly. If you don't copy the uploads folder profiles images & images embedded within articles may not appear after the upgrade.
The web.config file has changed quite substantially with 2018. For this reason we would suggest starting with the new InstantKB 2018 web.config file and not trying to add the newer 2018 tags to your existing InstantKB 2016 web.config file.
You will need to copy the database connection string from your existing InstantKB 2016 web.config and use this within your new InstantKB 2018 web.config.
We hope you enjoy the 2018 update. Should you have any questions or feedback please open a support ticket, contact us or post your questions within our community forums.