Back to all posts

Upgrading from DotNetNuke 4.3.5 (and other 4.x versions) -> 4.4.1

Posted on Feb 13, 2007

Posted in category:
Development
DNN

I have been answering a large number of questions regarding upgrading from DotNetNuke 4.3.5 to 4.4.1 and have created this document to outline the process to complete the upgrade. Please note that I am not responsible for any data loss or corruption that might result from an unsuccessful upgrade of DotNetNuke. Also, even though this tutorial is guided towards users of 4.3.5 this should work for any 4.x version to upgrade to 4.4.1, the upgrade process for 3.x users is NOT the same.

Getting Ready

Prior to starting the upgrade process to DNN 4.4.1 you will want to make a full backup of your site, this includes your DotNetNuke application folder AND your database. This will allow you to quickly restore your application to its previous state if an error does occur. After you have backed up your current site you will want to visit the DotNetNuke website and download the "4.4.1 Upgrade" package. This includes all files necessary for updating to DNN 4.4.1.

Before we start upgrading your website I also recommend placing an app_offline.htm file in the root folder of your current DNN installation. This file will stop users from navigating to your various modules and pages while the file copy is in progress. As I experienced with my hosting provider a 5-7 minute process to upload the files which during that time your installation would not be 100% stable.

Configuring Your Setup

Now that your backups have been completed and you have the 4.4.1 upgrade package we are ready to actually perform the upgrade. First, you will want to rename your current web.config file to web.config.old. This will keep the file around as in a few moments we will be merging settings from this file into the new web config file.

Now you need to extract all files from the 4.4.1 upgrade package into your root DNN folder. You will need to confirm the overwriting of your files. Once this process has completed, rename the release.config file to web.config and perform the following tasks using the information from your web.config.old file

Update Connection Strings

Be sure that the proper connection strings are loaded for your setup, both in the <connectionstrings> and <appsettings> sections of your web config, examples below. </appsettings<</connectionstrings>

ConnectionString Changes
<connectionString>
<add name ="SiteSqlServer"  connectionString =""  providerName ="System.Data.SqlClient"   />
<connectionStrings<
<appSettings>
  <add key="SiteSqlServer" value="" />

Copy Machine Key and Validation Key Values

Another very important item to copy over is your machine and validation keys. These are the keys used to encrypt and decrypt passwords and other information within your application. If you forget these items your users will not be able to login to the system. This declaration is typically just after the opening tag. Below is an example of the machine key, the values you will be concerned with are the ones that are blank in the example.

<machineKey  validationKey=""  decryptionKey=""  decryption ="3DES"  validation ="SHA1"   /<

Copy CodeSubDirectories Section (if used)

If you have been developing modules with different languages, or added the CodeSubDirectories section to your web.config to generate granular assemblies you will want to copy this section over to your new configuration file. This element is a sub-element of the section. Below is a sample of what this section looks like.

Example CodeSubDirectories
<codeSubDirectories>  
    <add  directoryName ="sub-directory name"/> 
<codeSubDirectories>

Copy the InstallationDate Application Setting

The last standard configuration element that needs to be copied over is the InstallationDate key. This is used to identify the time of last installation, it is a good idea to copy this over even though it does appear to be an optional step according to DNN documentation. Below is the format for the key, it is contained within the <appsettings> section.>/appsettings<

>add  key ="InstallationDate"  value ="9/21/2006"   /<

Copy any other custom configuration options

If you have customized any other configuration settings or added new sections to the configuration you will want to add those to your new web config file at this time. Once you have completed this, it is time for the next and final step!

Start the Installation Process

After you have completed the above steps you are ready to start the installation process. You can complete this by typing the following URL into your browser. http://www.yoursite.com/Install/install.aspx?mode=upgrade. There www.yoursite.com is the URL to your DotNetNuke Installation. As this process concludes you should see a status screen showing you the various steps it is going through to update the site to the newest version. In the end you should see an installation complete message with a link to your site. At this time if you had placed an app_offline.htm file in your applications root directory you would want to remove it and you should now be able to access your updated website.