Upgrade to DNN 4.9.0 from 4.6.2 or Later 

I have previously blogged about the streamlined upgrade process that can be used to ugprade sites starting with version 4.6.2 and later.  With the upcoming release of DotNetNuke 4.9.0 (targeted for next week) I thought I would take some time to get all of my installation guides updated, with the most current information to ensure that everyone was ready for the new version as soon as it comes out.  Given the enhancements provided to the core in 4.6.2 the upgrade process from this version and later is VERY simple!  The following two step process will help you upgrade to your site to the most current version.  Instructions are also included regarding items of consideration for users in shared hosting environments.

NOTE: This ONLY works for DNN 4.6.2 and later systems.  DO NOT use this method if you are on a version prior to 4.6.2, as a failed installation is very possible!  If you are on a version prior to DNN 4.6.2 and would like to upgrade, please see the article titled "Upgrading to DNN 4.9.0 from 4.x".  If you have questions about this requirement, please post to my forum on this site.

Backup Existing Site

Even with the XML merge functionality it is very important to take a full backup of the website and database, just incase something doesn't work correctly during the upgrade.  If you are unsure of the process to backup your site, please be sure to read my blog How to Backup a DNN Site, additionally if on a remote hosting provider you can contact your provider for assistance creating the backups.

Upgrading Site

To perform an upgrade from 4.6.2 or later to 4.9.0 you may simply download the UPGRADE package for the 4.9.0 version of DotNetNuke from the DotNetNuke.com website.  You MUST use the upgrade package for this process.  Once you have downloaded the package, simply unzip it over your existing DNN installation.  This will update all DotNetNuke core files and prepare you to install the upgrade.

Now, simply navigate to http://www.mysite.com/install/install.aspx?mode=install and you will be triggering the upgrade just like normal.  All needed web.config changes will be merged and your site will be upgraded.  If you encounter an under contruction page, simply try the URL again.  After a few moments of processing you should see a success message.  If any errors are encountered you will want to be sure to note them BEFORE continuing on to another page.

Remote Hosting/Production Environment Considerations

If upgrading a DotNetNuke site that is public facing or on a remote hosting provider it would be highly recommended that during the upgrade process an "app_offline.htm" file be placed in the root of the DNN installation. This file will prevent the processing of ANY ASP.NET requests and will ensure that the upgrade process is not triggered until YOU want it to be. You simply have to remove the file before you can process the upgrade.

Conclusion

Upgrades form 4.6.2 to the most current version are very simple tasks and make the process a lot less painful than previous processes.  Please note that this process does NOT update any modules that might have new releases so you must do that via a separate process!

Posted by Mitchel on Thursday, September 04, 2008
 

Comments

At another upgrade post, i asked 4.9 release status, i think it hasn't been released for public access yet, but i assume it won't take longer to have it, thanks for updated tutorials, always worth reading for newcomers.

By Id on Friday, September 05, 2008 at 8:35 AM

That is correct, 4.9.0 is not going to be out until the first part of next week most likely, but I wanted to get something put together now for the document.

By mitchel.sellers@gmail.com on Friday, September 05, 2008 at 10:13 AM

I got the following error when upgrading...


Upgrading DotNetNuke
Current Assembly Version: 04.09.00
Current Database Version: 04.08.04

Upgrade Status Report00: - Upgrading to Version: 4.9.0


00:00:00.328 - Executing Script: 04.09.00.SqlDataProvider

Error! (see 04.09.00.log for more information)

00:00:00.500 - Performing General Upgrades



00:00:02.093 - Installing Package File LiveID_01.00.00_Install:

Success

00:00:02.500 - Installing Package File OpenID_01.00.00_Install:

Success

By Ray on Thursday, September 11, 2008 at 4:15 PM

Hi,
an excellen blog on upgrade.
My question is about upgrade in a hosting environement. initially I'll place app_offline.htm in the root and upload the files. But then I need to remove it and start the upgrade - how can I be shure that I am the first user to hit the site?
In upgraded prior to 4.6.2 you would set

<add key="AutoUpgrade" value="False" />

but in upgrade from 4.6.2 you do not change web.config by yourself

best regards
Goran

By Goran Condric on Monday, September 15, 2008 at 2:44 AM

If you have it set beforehand, it STAYS set. This is the reason that I recommend doing a manual install (non-wizard based).

That way it all stays the same for the future.

By mitchel.sellers@gmail.com on Monday, September 15, 2008 at 3:11 AM

Thanks again Mitch, another great blog update on the install/upgrade process.

we proceeded through three different updates of DNN with the 4.9 update in this manner and they all went fine. one of them displayed a sqldata provider update error, but even then, the site reloaded and worked fine after the update process.

a question though, does it delete or disable the install.aspx file after it has successfully updated the site?

So do I have to jsut unzip the upgrade in my wwroot folder?

By Bart on Wednesday, September 17, 2008 at 3:50 AM

Yes

By mitchel.sellers@gmail.com on Wednesday, September 17, 2008 at 3:57 AM

I'm trying to upgrade my 4.6.2 site to 4.9.0, but I'm having some problems. Here is the installation log.

Installation Status Report
00:00:00.046 - Installing Version: 4.4.0
00:00:00.046 - Executing Script: DotNetNuke.SetUp.SqlDataProvider Success
00:00:00.156 - Executing Script: DotNetNuke.Schema.SqlDataProvider Error! (see DotNetNuke.Schema.log for more information)
00:00:03.687 - Executing Script: DotNetNuke.Data.SqlDataProvider Error! (see DotNetNuke.Data.log for more information)
00:00:04.390 - Installing MemberRole Provider:
00:00:04.390 - Executing Script: InstallCommon
00:00:06.687 - Executing Script: InstallMembership
00:00:07.171 - Executing Script: InstallProfile
00:00:07.468 - Executing Script: InstallRoles
00:00:07.781 - Upgrading to Version: 4.9.0
00:00:07.843 - Executing Script: 04.04.01.SqlDataProvider Success
00: - Executing Script: 04.05.00.SqlDataProvider Success
00:00:08.921 - Executing Script: 04.05.01.SqlDataProvider Success
00:00:09.125 - Executing Script: 04.05.02.SqlDataProvider Success
00:00:09.437 - Executing Script: 04.05.03.SqlDataProvider Success
00:00:09.500 - Executing Script: 04.05.04.SqlDataProvider Success
00:00:09.546 - Executing Script: 04.05.05.SqlDataProvider Success
00:00:09.562 - Executing Script: 04.06.00.SqlDataProvider Success
00:00:10.437 - Executing Script: 04.06.01.SqlDataProvider Success
00:00:10.437 - Executing Script: 04.06.02.SqlDataProvider Success
00:00:10.453 - Executing Script: 04.07.00.SqlDataProvider Success
00:00:10.625 - Executing Script: 04.08.00.SqlDataProvider Success
00:00:10.718 - Executing Script: 04.08.01.SqlDataProvider Success
00:00:10.781 - Executing Script: 04.08.02.SqlDataProvider Success
00:00:10.812 - Executing Script: 04.08.03.SqlDataProvider Success
00:00:10.812 - Executing Script: 04.08.04.SqlDataProvider Success
00:00:10.812 - Executing Script: 04.09.00.SqlDataProvider Success
00:00:10.968 - Performing General Upgrades
00:00:11.968 - Loading Host Settings:
00:00:12.046 - Configuring SuperUser:
00:00:12.203 - Synchronizing Host Files:
00:00:12.375 - Installing Modules:
00:00:12.390 - Installing Module File Adsense_01.00.01_Install: Success
00:00:12.703 - Executing Additional Scripts:
00:00:12.718 - Creating Portal: My Website
00:00:12.984 - Error: Error creating Profile Definitions
00:00:12.984 - Portal failed to install:Error!
00:00:12.984 - Installing Optional Resources:
00:00:13.078 - Installing Package File LiveID_01.00.00_Install: Success
00:00:13.437 - Installing Package File OpenID_01.00.00_Install: Success
Installation Complete

Has anyone any ideas on how to solve this problem? If I try to run the install again I get "object reference not set...". Plz help me out!

Thanks
Mattias

By Mattias on Friday, September 19, 2008 at 12:44 PM

Can you please post this to the forums, and include the information contained in the log files.

By mitchel.sellers@gmail.com on Friday, September 19, 2008 at 12:51 PM

I upgraded to 4.9 from 4.8.4 through helm. I am unable to use my host login, or any other logins for that matter which I used before the upgrade. What happened?

By jon on Tuesday, November 25, 2008 at 12:40 PM

Jon,

Please post to the forums for specific assistance

By mitchel.sellers@gmail.com on Tuesday, November 25, 2008 at 8:55 PM

Greetings from Austria

http://www.mysite.com/install/install.aspx?mode=install

Why not mode=upgrade?
In short, what is the difference anyway? I haven't found a good explanation about that, and I didn't want to dig in the source-code.

Cheers,
Martin

By zwiglm on Wednesday, December 03, 2008 at 10:28 PM

Martin,

It is because Install is the only supported option for install/upgrade.

You have another mode "InstallResources" but that is to install modules, etc.

By mitchel.sellers@gmail.com on Thursday, December 04, 2008 at 3:52 AM


Thanks for this article, it's great. So great that we've made it 'sticky' on The Webmaster Forums. Now we don't have to repeat ourselves, just send people to this article!

By cornices on Friday, January 02, 2009 at 3:36 AM

Mitch I upgraded from 4.7 t0 4.9 and I received the following error executing the 04.09.00.SqlDataProvider.

Here is the error that is contained in the log file.

Do I need to do anything with this. I ran the select query and there are several records that do not have the IsSecure flag is set to 0.

Thanks!


System.Data.SqlClient.SqlException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)

/************************************************************/
/***** SqlDataProvider *****/
/***** *****/
/***** *****/
/***** Note: To manually execute this script you must *****/
/***** perform a search and replace operation *****/
/***** for dbo. and DNN_ *****/
/***** *****/
/************************************************************/

update dbo.[DNN_Tabs] set IsSecure = 1
where PortalID is NULL
or TabID in (select AdminTabId from dbo.[DNN_Portals])
or ParentId in (select AdminTabId from dbo.[DNN_Portals])

By chad on Saturday, January 10, 2009 at 3:52 AM

Great list, it helps clear up much of the htacess mystery and confusion that comes from creating such files.

By strony internetowe kraków on Wednesday, January 14, 2009 at 12:48 AM

Thanks for this article, it's great.

By sklepy internetowe on Friday, February 06, 2009 at 2:20 PM

Comments from the following blog entry: Installing and Upgrading to Most Current DNN Versions, located at: http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/294.aspx

By Mitchel's Personal Web Portal on Wednesday, February 18, 2009 at 10:51 AM

Comments from the following blog entry: Installing and Upgrading to Most Current DNN Versions, located at: http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/294.aspx

By Mitchel's Personal Web Portal on Wednesday, February 18, 2009 at 10:51 AM

Mitch,
Great post. I'm getting an error upgrading from 4.07 to 4.09.02. I posted it here in the DNN Forums:

But the short version is that I get a timeout error each time on the "Installing Module File HTML_04.08.01_Install:" step. I've set the web.config for a 1 hour timeout, but this runs for about a minute or two then throws this error.

By Steven Webster on Friday, March 27, 2009 at 1:15 AM

Hi Mitchell,

Sorry to be a dolt but you mean to unzip the upgrade file locally, then just ftp all of that over the existing installation overwriting all files with same name? Gong from 4.8.2 to 4.9.2.

thanks,

Will

By Will Sugg on Friday, April 03, 2009 at 11:26 AM

Yes you are correct

By mitchel.sellers@gmail.com on Friday, April 03, 2009 at 12:01 PM

thanks! Worked like a charm. Much less painful than the 3->4 upgrades!

Will

By Will Sugg on Saturday, April 04, 2009 at 6:21 AM

I am trying to upgrade a company website from 4.9.0 to 4.9.3. I have done a few upgrades before in the usual fashion of extracting the upgrade ZIP to merge the new files over the existing set and updating release.config with my appropriate web.config non ported settings etc. and all workd ok.

In the current case however, I do the same (I have tried this locally on my PC and remotely at an ISP) and although the upgrade screen indiactes success, when I click to 'access my Portal'... the website just hangs and hangs/sticks leaving the upgrade screen in place and the URL : the 'domain name I use/Install/Install.aspx?mode=upgrade'....

(just for the record, going from 4.9.0 to 5.0.1 does the same also or even going to just 4.9.1). Has anybody got any ideas why this might be. I have tried such things as closing the browser and re-opening and re-accessing the URL. I have also tried to re-boot my machine, no luck. Clearing down Cache etc. Still no access. Not updating web.config and letting DNN do it.

It just seems to be stuck.....it doesn't even timeout even as I am typing this response, the screen is still attempting to access the above URL with a full green bar on the status toolbar and no movement. Any help here would be greatly appreciated...... I have posted on DNN official forum but with no luck as yet...



Thanks in advance, MARK.

By NonStopMark on Thursday, April 09, 2009 at 5:21 AM

Mark,

First of all since 4.6.0 and later it is no longer needed to modify the web.config, DNN will do it for you.

My guess is that there is something that just hasn't processed. I would start over, if you can't get it, please post to the forum for more assistance.

By mitchel.sellers@gmail.com on Thursday, April 09, 2009 at 5:37 AM

very interesting site, really great work

By strony www londyn on Friday, April 17, 2009 at 2:24 PM

Hi: After reading this article the only question I have is this: I see that the files and folders in the upgrade package overwrites some key folders in my dnn folder. For example, there is a PORTALS folder in the upgrade zip file that, if copied over to the PORTALS folder in my dnn folder will wipe out my portal files. So, I was wondering if there is something special I have to do as far as the copy process is concerned when copying the upgrade files into my dnn folder.

Thanks.

By Nigel on Wednesday, June 24, 2009 at 5:21 PM
Click here to post a comment

Disclaimer