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 Tuesday, February 13, 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 9: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 4:58 PM

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 Tuesday, February 27, 2007 at 12:40 AM

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 5: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 2:23 PM

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 2:24 PM

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 8: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 8: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 9: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 10: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 11:18 AM

Thanks

By stuart on Wednesday, May 09, 2007 at 3:06 AM

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 Wednesday, June 13, 2007 at 12:40 AM

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 10:45 PM

I tried the upgrade procedure and when I run the upgrade url I get this error:-
"Unhandled Error
Error Details
File
Error There was an error generating the XML document. "

How can I avoid this?

By ollieo on Monday, July 20, 2009 at 2:24 AM

http://www.surat-user-group.org/ is running on Dot Net Nuke CMS(version 5.0) since it has been launched officially; with the help of this information I just upgraded http://www.surat-user-group.org to latest version (5.1)

Thank you Mitchel :)

By Hemantgiri S. Goswami on Wednesday, July 22, 2009 at 4:59 AM

hi
This is Neodean

I have a problem Please Solve it
I have Created a DotNetNuke base Web application (myapplication) on a Remote machine it is working fine on that Remote

Machine
Now i saved and compiled the "myapplication" on C:\inetpub\wwwroot\

i have created an HTML Page "sample.html" in C:\inetpub\wwwroot\myapplication\sample.html

and accessing from my Local Machin as
http://RemoteMachinIPAddress/myapplication/sample.htm

it is working fine....

and Now trying to Access the Remote machine application (myapplication) from my Local machine as
http://RemoteMachinIPAddress/myapplication/home.aspx

but not able to access on My local Machine

The Error i am facing on my Local machin

Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review

the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application

level. This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 104:
Line 105:
Line 106:
decryptionKey="57EE4266C0D450FA5A4F34E6CDE7BED0EE03DB3E8F2B0A04" decryption="3DES" validation="SHA1" />
Line 107:
Line 108:


Source File: C:\inetpub\wwwroot\myapplication\web.config Line: 106


Please Solve this issue to access myapplication saved on Remote Machine in C:\inetpub\wwwroot\
and trying to access from local machine

By neodean on Wednesday, November 11, 2009 at 9:27 AM

Name (required)

Email (required)

Website

CAPTCHA image
Enter the code shown above:

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Friend of RedGate

www.datasprings.com - DotNetNuke Modules ICG Hosting

Click here for advertising information.

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.