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

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 and sections of your web config, examples below.

<connectionStrings >
    

    
< add name="SiteSqlServer" connectionString="" providerName="System.Data.SqlClient" />
  
connectionStrings >
  
<appSettings>
    
&!-- Database connection string (SQL Server 2000 or 2005 - kept for backwards compatability - legacy modules -->
    
< 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 note "".

<system.web >
    
< 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.

<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 section.

<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.

Post updated on 2/26 to resolve formatting issues and fix the start process steps.

Posted by Mitchel on Monday, February 12, 2007
 

Comments

Great guide. it worked like a champ! The only thing that needs clarification is in the Start the installation process portion. the \install.aspx is misleading. Otherwise this guide is perfect. Do you happen to have one on how to upgrade the individual modules?

By StubbornMule on Friday, February 16, 2007 at 4:51 PM

I just updated this posting today, I didn't notice the HTML formatting issues that existed in my code samples. They have been fixed, and I updated the installation process to be a bit more clear.

I am also working on a document about upgrading modules.

By mitchel.sellers@gmail.com on Monday, February 26, 2007 at 11:58 AM

Great guide, but unfortunately did not work for me :(
After following the guide I get the error: An unhandled error has occurred.

Any help would be greatly appreciated.

By Georgi Hristov on Monday, February 26, 2007 at 7:40 PM

Georgi - If you can either post a detailed request in the forum, or send me a message with your e-mail I can help you out!

By mitchel.sellers@gmail.com on Tuesday, February 27, 2007 at 12:30 PM

I have recently upgraded to 441 and everything seemed fine. However, I am just now needing to create a new portal under the new version. After the portal is created, if I browse to it, I get an application error saying that 'The stored procedure 'dbo.GetPortalTabModules' doesn't exist.does not exist.'
This is true since the db version is 441, and the dnn version is also 441 according to the host settings page. But that proc is a 437 proc. Do you have any idea why the code would not have been upgraded and is still looking for the old proc?

Thanks
Dave

By Dave on Thursday, March 01, 2007 at 9:23 AM

Dave,

I have not seen that error before. One thing you can do just to be on the safe side is to reset your application. Host -> Host Settings -> Reset application. I have seen that fix other interesting lingering errors.

By mitchel.sellers@gmail.com on Thursday, March 01, 2007 at 9:24 AM

I've done that, I was thinking that during the upgrade process there may have been something keeping one or several of the dll's from being overwritten - perhaps a request was coming in or the dll was in use while the files were being copied. Does this sound feasible?

I'm hoping that by using the app_offline.htm file I'll be able to disable the site long enough to recopy all the new dlls.

Thanks for your input.

By Dave on Thursday, March 01, 2007 at 3:34 PM

Dave,

Yes, I believe that using app_offline.htm will help greatly with that. Also, you might try deleting the .dll files from the bin directory, then uploading them.

HOWEVER, note that it might take your site fully down if you do that....but it will be sure that you have the newest versions of everything up there.

By mitchel.sellers@gmail.com on Thursday, March 01, 2007 at 3:35 PM

Just wondering if you have any tutorials on how to update to DNN 4.5

Ta

By stuart on Friday, May 04, 2007 at 4:31 AM

The upgrade process to 4.5 actually follows this same process. My only recommendation is to also read my "Upgrade Tips (Lessons Learned)" as that has some more upgrade information.

I will look at creating an updated "Upgrade Guide" that incorporates this document content and my lessons learned, but it might not be until this weekend...

By mitchel.sellers@gmail.com on Friday, May 04, 2007 at 5:29 AM

Actually I just got some time to upgrade my document for 4.5.1, if you look on my main blog page the information is there!

By mitchel.sellers@gmail.com on Friday, May 04, 2007 at 6:18 AM

Thanks

By stuart on Tuesday, May 08, 2007 at 10:06 PM

Great Posts dude, really helpful - helped me on a big site with over 160 portals to upgrade and also move servers

By Ben Lauchlan on Tuesday, June 12, 2007 at 7:40 PM

Hi Mitchel, thanks for posting this helpful information. You are providing better quality information about DNN than the actual DNN site itself. Please keep it going.

This information saved the day for me...

Best regards,

Rod

By Rod Weir on Tuesday, June 26, 2007 at 5:45 PM
Click here to post a comment

Donate

Show your appreciation for the content/modules made available by MitchelSellers.com by making a donation. Donations are used to assist with dedicating time to creating free content.