I ran the upgrade process from 4.9.5 to 5.6.2 twice today, once on my test system and once on my production system, with different results.
The test system is a Windows 7 Ultimate laptop, fully patched, running IIS 7, ASP.NET 3.5 and SQL Server 2005 Express. This install completed without error.
The production system is hosted at Server Intellect. I don't know the Windows Server version (I suspect it's 2005), but IIS is v.6, ASP.NET is 3.5 SP1, and SQL server is 2005.This install completed successfully with one error:
00:01:40.859 - Executing Application Upgrades: 05.03.00 Error!
Everything else completed successfully, but when I clicked on the "Access your portal" link I got this error:
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
Stack Trace:
[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +58
System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity) +595
System.IO.DirectoryInfo.Create() +15
DotNetNuke.Services.Installer.Util.WriteStream(Stream SourceStream, String DestFileName) +71
DotNetNuke.Services.Installer.InstallerInfo.ReadZipStream(Stream inputStream, Boolean isEmbeddedZip) +206
DotNetNuke.Services.Installer.InstallerInfo..ctor(Stream inputStream, String sitePath) +209
DotNetNuke.Services.Installer.Installer..ctor(Stream inputStream, String physicalSitePath, Boolean loadManifest, Boolean deleteTemp) +61
DotNetNuke.Services.Upgrade.Upgrade.InstallPackage(String strFile, String packageType, Boolean writeFeedback) +215
DotNetNuke.Services.Upgrade.Upgrade.InstallPackages(String packageType, Boolean writeFeedback) +216
DotNetNuke.Services.Install.Install.UpgradeApplication() +967
DotNetNuke.Services.Install.Install.Page_Load(Object sender, EventArgs e) +325
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.install_install_aspx.ProcessRequest(HttpContext context) +4
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
=== end of error message ===
A Google search suggests that this error
may be an IIS error and may be related to the fact that the trust level on both systems is set to:
<trust level="Medium" originUrl=".*" />
Apparently this trust level is OK on a local server but not on a remote server. Can anyone clarify this for me? I'm strongly tempted to change the trust level setting to "Full" on my production server and see if I can bring the site up but I don't know enough about IIS to know what effect this would have. Advice greatly appreciated.