Cannot install

Vote:
 

Upgraded our R1 SP3 site using EPiServer Mail 4.3 to R2 and are now trying to install EPiServer Mail 4.4 without any luck. When I get to the first step to choose a site there are no sites to select from. The text is a little confusing as it states to select an EpiServer Mail application.

According to the installation instruction there doesn't seem to be any prerequisits to be performed to be able to install it on the site. What seems to be the problem?

#30808
Jun 23, 2009 9:10
Vote:
 

Sorry for the confusion, EPiServer Mail requires an EPiServer CMS site to install and as there is no upgrade between 4.3 and 4.4 (migration required) sites with 4.3 are also disqualified during installation.

See http://world.episerver.com/en/Download/Categories/Version-Relations/EPiServer-CMS-5-Relations/ for details on the compatible CMS versions and http://world.episerver.com/en/Articles/Items/Migrating-StarCommunity-31-to-EPiServer-Community-32/ for how to migrate.

#30813
Jun 23, 2009 10:17
Vote:
 

If I understand this correctly... I have to install a new site on our server and on this install EPiServer Mail 4.4 and then move our live site consisting of thousands of pages and all the VPP files to the new site to be able to get EPiServer Mail to work?

If that is the case, how do I perform this the easiest way? What about licensing violation during twosite installation?

#30825
Jun 23, 2009 14:03
Vote:
 
I also recieve a lot of error messages from StarSuite in the Event viewer after upgrade (Object Reference not set as an instance of an object). How do I get rid of those?
#30828
Edited, Jun 23, 2009 14:15
Vote:
 

Well, you don't necessarily need to move all your content to a new site.

 

What you absolutely do need during the migration is to have two separate databases, one with the 4.3 structure and one with the 4.4 structure.

Is EPiServer Mail 4.3 in a separate database from CMS?

If that is the case you may just want to temporarily remove the <EPiUI>/Mail, bin/EPiServer.Mail.*, bin/StarSuite.* files, install 4.4 onto the site, using a new DB, and then run the migration script from the 4.3 to the 4.4 database to get your Mail content into the 4.4 installation.

If Mail and CMS are sharing DB, you would probably want to also restore a backup of this database, remove the StarSuite and Mail related tables and stored procedures before installing 4.4, that way you can install 4.4 into this shared database (and then migrate the 4.3 data as mentioned above).

I hope this explanation made sense.

 

Regarding the StarSuite error messages, I can't really tell what is wrong without knowing the actual message, but there's a significant chance that these messages will go away after migrating to the new version anyway, so it may not be worth it putting too much energy into that issue before seeing if that is the case.

 

#30829
Jun 23, 2009 14:54
Vote:
 

There is also a EPiServer Mail 4.3 - 4.4 upgrade instruction in the Create+ upgrade instructions - look under the documention section for the document.

 

 

 

 

#30832
Jun 23, 2009 16:58
Vote:
 
Yes, all works after a bit of tweaking. The one thing that took the most time to figure out was the placement of the staticfile handlers towards the other handlers that gave a nice confusing errormessage. Thanks alot for yur help
#30833
Jun 23, 2009 18:07
Vote:
 

Darn, called 'hej' too soon. After installing EPiServer Mail there were added two membership providers in web.config:

EPiServerCommonMembershipProvider & EPiServerCommonIntegrationMembershipProvider

However since we use a custom membership provider for some of our users we use the multiplexing provider. And here it gets weird:

Case 1: Using the EPiServerCommonIntegrationMembershipProvider
This has a provider property that points towards MultiplexingMembershipProvider which is the new one as stated in the Hot Fix 1 - EPiServer Common. This multiplexing provider has two providers: SqlServerMembershipProvider and our own custom membership provider.
Result: Our custom membership provider works but if I as admin or anyone else that is set up in the SqlServerMemebrshipProvider recieve an error message:

Invalid use of read only object - Clone() it before making modifications.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: EPiServer.Common.Exceptions.FrameworkException: Invalid use of read only object - Clone() it before making modifications.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[FrameworkException: Invalid use of read only object - Clone() it before making modifications.]    
EPiServer.Common.EntityValidator.ValidateIsNotReadOnly(ICloneable cloneable) +66 
EPiServer.Common.Data.FrameworkFactoryBase.UpdateEntity(IFrameworkEntity entity, Int32 id, Boolean add) +78
EPiServer.Common.Data.FrameworkFactoryBase.UpdateEntity(IFrameworkEntity entity) +37
EPiServer.Common.Security.Internal.SecurityHandler.SecurityHandler_UpdatedUser(ISecurityHandler sender, IUpdateUserEventArgs args) +77
EPiServer.Common.Security.SecurityHandler.OnUpdateUser(IUpdateUserEventArgs args) +22
EPiServer.Common.Security.Internal.Data.SecurityFactory.UpdateUser(User user, SecurityHandler securityHandler) +1009
EPiServer.Common.Security.Internal.SecurityHandler.UpdateUser(IUser user) +353 EPiServer.Common.Web.Authorization.Integrator.SynchronizeUser(MembershipUser membershipUser, String password, Boolean enableCreateNew) +1058 EPiServer.Common.Web.Authorization.Multiplexing.IntegrationMultiplexingMembershipProvider.ValidateUser(String username, String password) +79
EPiServer.Common.Web.Authorization.IntegrationMembershipProvider.ValidateUser(String username, String password) +32
System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60
System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +119
System.Web.UI.WebControls.Login.AttemptLogin() +115
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

Case 2: Using the 'new' MultiplexingMembershipProvider
Result: Site does not load: shows this:

ClassFactory not initialized

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: EPiServer.BaseLibrary.ClassFactoryException: ClassFactory not initialized

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ClassFactoryException: ClassFactory not initialized]    
EPiServer.BaseLibrary.ClassFactory.get_Instance() +75
EPiServer.BaseLibrary.ClassFactory.IsRegistered(Type baseType) +11
EPiServer.CacheManager..cctor() +189 [TypeInitializationException: The type initializer for 'EPiServer.CacheManager' threw an exception.]
EPiServer.Web.FriendlyUrlRewriteProvider.ConvertToInternal(UrlBuilder url, Object& internalObject) +357
EPiServer.Web.UrlRewriteModule.HttpUrlRewriteToInternal(UrlBuilder url) +313 EPiServer.Web.UrlRewriteModuleBase.BeginRequestEventHandler(Object sender, EventArgs e) +158
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
[TypeInitializationException: The type initializer for 'EPiServer.DataAbstraction.UnifiedPathInfo' threw an exception.]
EPiServer.DataAbstraction.UnifiedPathInfo.Load(String path) +338
EPiServer.FileSystem.DefaultAccessControlList..ctor(String path) +65
EPiServer.Web.Hosting.DirectoryAccessControl..ctor(String virtualPath) +28
EPiServer.Web.Hosting.UnifiedDirectory.get_DirectoryAC() +176
EPiServer.Web.Hosting.UnifiedDirectory.QueryAccess() +79
EPiServer.Web.Hosting.UnifiedDirectory.QueryDistinctAccess(AccessLevel access) +17
EPiServer.Web.Hosting.VirtualPathVersioningProvider.GetDirectory(String virtualPath) +177
EPiServer.Web.Hosting.VirtualPathHandler.InitializeProviders(ProviderSettingsCollection providers) +399
EPiServer.Web.InitializationModule.InitializeVirtualPathProviders(VirtualPathElement vpElement) +72
EPiServer.Web.<>c__DisplayClass32.<Initialize>b__18() +22 EPiServer.Web.InitializeEngine.Initialize() +184
EPiServer.Web.InitializationModule.Initialize(EPiServerSection config, Settings settings, ConnectionStringSettingsCollection connectionStringSettings) +1267
EPiServer.Web.InitializationModule.<StaticInitialization>b__2() +34
EPiServer.Web.InitializeEngine.Initialize() +184
EPiServer.Web.InitializationModule.StaticInitialization() +737
EPiServer.Web.InitializationModule.Application_BeginRequest(Object sender, EventArgs e) +310
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

 

Overall the site is extremely instabil all the time and changing one little thing can make the whole site to stop working. Does these error messages say anything on what the problem might be? One thing i noted was that during trying around different settings I got one message stating that it needed assembly from EPiServer R1 and checking my web.config there are alot of add assembly that refers to Version 5.1.422.4. Could this be something? Can I delete those or change version to 5.2.375.133?

#30835
Edited, Jun 24, 2009 9:42
Vote:
 

Okay, can you just confirm that Common 2.3 Hotfix 1 is fully installed? (That is, at least the fixed EPiServer.Common.Web.Authorization.dll was installed, and optionally EPiServer.Common.Web.Authorization.Multiplexing.dll too?)

And what does the membership provider / role provider sections look like?

 

#30836
Jun 24, 2009 11:06
Vote:
 

Copied both the dll:s to the bin folder and changed the MultiplexingMembershipProvider to this

<add name="MultiplexingMembershipProvider" type="EPiServer.Common.Web.Authorization.Multiplexing.IntegrationMultiplexingMembershipProvider, EPiServer.Common.Web.Authorization.Multiplexing" provider1="SqlServerMembershipProvider" provider2="ECIDMembershipProvider" roleToSynchronize1="*" />

#30837
Jun 24, 2009 11:09
Vote:
 
Is the MultiplexingMembershipProvider the default membership provider? The stack trace suggests that another provider is used...?
#30839
Jun 24, 2009 11:15
Vote:
 

Using the following settings I got the site to run and our customers could log in using the ECIDMembershipProvider but we as editors or admin could not log in:

<add name="MultiplexingMembershipProvider" type="EPiServer.Common.Web.Authorization.Multiplexing.IntegrationMultiplexingMembershipProvider, EPiServer.Common.Web.Authorization.Multiplexing" provider1="SqlServerMembershipProvider" provider2="ECIDMembershipProvider" roleToSynchronize1="WebAdmins" roleToSynchronize2="WebEditors" />

We recieve this errormessage:

Invalid use of read only object - Clone() it before making modifications.  Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.  Exception Details: EPiServer.Common.Exceptions.FrameworkException: Invalid use of read only object - Clone() it before making modifications. Source Error:  An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.   Stack Trace:  [FrameworkException: Invalid use of read only object - Clone() it before making modifications.]    EPiServer.Common.EntityValidator.ValidateIsNotReadOnly(ICloneable cloneable) +66    EPiServer.Common.Data.FrameworkFactoryBase.UpdateEntity(IFrameworkEntity entity, Int32 id, Boolean add) +78    EPiServer.Common.Data.FrameworkFactoryBase.UpdateEntity(IFrameworkEntity entity) +39    EPiServer.Common.Security.Internal.SecurityHandler.SecurityHandler_UpdatedUser(ISecurityHandler sender, IUpdateUserEventArgs args) +77    EPiServer.Common.Security.SecurityHandler.OnUpdateUser(IUpdateUserEventArgs args) +22    EPiServer.Common.Security.Internal.Data.SecurityFactory.UpdateUser(User user, SecurityHandler securityHandler) +1014    EPiServer.Common.Security.Internal.SecurityHandler.UpdateUser(IUser user) +353    EPiServer.Common.Web.Authorization.Integrator.SynchronizeUser(MembershipUser membershipUser, String password, Boolean enableCreateNew) +1058    EPiServer.Common.Web.Authorization.Multiplexing.IntegrationMultiplexingMembershipProvider.ValidateUser(String username, String password) +79    System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60    System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +119    System.Web.UI.WebControls.Login.AttemptLogin() +115    System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37    System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

Trying to change the settings to this:
<add name="MultiplexingMembershipProvider" type="EPiServer.Common.Web.Authorization.Multiplexing.IntegrationMultiplexingMembershipProvider, EPiServer.Common.Web.Authorization.Multiplexing" provider1="SqlServerMembershipProvider" provider2="ECIDMembershipProvider" roleToSynchronize1="Everyone" />

Gives me this errormessage:

Server Error in '/' Application. -------------------------------------------------------------------------------- ClassFactory not initialized  Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.  Exception Details: EPiServer.BaseLibrary.ClassFactoryException: ClassFactory not initialized Source Error:  An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.   Stack Trace:   [ClassFactoryException: ClassFactory not initialized]    EPiServer.BaseLibrary.ClassFactory.get_Instance() +75    EPiServer.BaseLibrary.ClassFactory.IsRegistered(Type baseType) +11    EPiServer.CacheManager..cctor() +189 [TypeInitializationException: The type initializer for 'EPiServer.CacheManager' threw an exception.]    EPiServer.Web.FriendlyUrlRewriteProvider.ConvertToInternal(UrlBuilder url, Object& internalObject) +357    EPiServer.Web.UrlRewriteModule.HttpUrlRewriteToInternal(UrlBuilder url) +313    EPiServer.Web.UrlRewriteModuleBase.BeginRequestEventHandler(Object sender, EventArgs e) +158    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 [TypeInitializationException: The type initializer for 'EPiServer.DataAbstraction.UnifiedPathInfo' threw an exception.]    EPiServer.DataAbstraction.UnifiedPathInfo.Load(String path) +338    EPiServer.FileSystem.DefaultAccessControlList..ctor(String path) +65    EPiServer.Web.Hosting.DirectoryAccessControl..ctor(String virtualPath) +28    EPiServer.Web.Hosting.UnifiedDirectory.get_DirectoryAC() +176    EPiServer.Web.Hosting.UnifiedDirectory.QueryAccess() +79    EPiServer.Web.Hosting.UnifiedDirectory.QueryDistinctAccess(AccessLevel access) +17    EPiServer.Web.Hosting.VirtualPathVersioningProvider.GetDirectory(String virtualPath) +177    EPiServer.Web.Hosting.VirtualPathHandler.InitializeProviders(ProviderSettingsCollection providers) +399    EPiServer.Web.InitializationModule.InitializeVirtualPathProviders(VirtualPathElement vpElement) +72    EPiServer.Web.<>c__DisplayClass32.b__18() +22    EPiServer.Web.InitializeEngine.Initialize() +184    EPiServer.Web.InitializationModule.Initialize(EPiServerSection config, Settings settings, ConnectionStringSettingsCollection connectionStringSettings) +1267    EPiServer.Web.InitializationModule.b__2() +34    EPiServer.Web.InitializeEngine.Initialize() +184    EPiServer.Web.InitializationModule.StaticInitialization() +737    EPiServer.Web.InitializationModule.Application_BeginRequest(Object sender, EventArgs e) +310    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053 

Trying to change back to the settings that worked initally doesn't work, only give me the second message all over. Occasionally this error message also occurs:

Server Error in '/' Application. -------------------------------------------------------------------------------- Object reference not set to an instance of an object.  Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.  Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error:  An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.   Stack Trace:   [NullReferenceException: Object reference not set to an instance of an object.]    EPiServer.Common.Web.HttpModule.Context_EndRequest(Object sender, EventArgs e) +6    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053 

I feel that I can get the site to run initially sometimes but if I do any change in either web.config or updating our site dll makes the whole site stop and I am left with nothing else to do then to restore the code as it were before updating EPiServerMail. The employees is really breathing down my neck and wants to send out newsletters.

#30844
Jun 24, 2009 14:02
Vote:
 

To me it seems as if the hotfixed EPiServer.Common.Web.Authorization.dll (file version 2.3.350.21) is not what is used in the environment where this is happening.

 

Do you have EPiServer.Common.Web.Authorization in the GAC too, not only in the bin folder of the web site?

 

If none of this is the case, I think you may need to open a case with Support:

http://world.episerver.com/en/Support/Register-Support-Incident/
#30852
Jun 24, 2009 16:16
Vote:
 
The EPiServer.Common.Web.Authorization.dll is not in the GAC. Should it be there or not?
#30882
Edited, Jun 25, 2009 12:39
Vote:
 
There is no need to have it there, I was just thinking that the GAC would be an alternative for how an old version could be loaded.
#30883
Jun 25, 2009 12:57
Vote:
 

During the lunch I tried to use the web.config file from the site that I created to be able to migrate EPiServerMail and only applied our specific settings. The things I changed was:

1 Copy the sitesettingsnode from the current site.
2. Added <section name="episerver.Blog" type="EPiServer.Blog.ConfigurationHandler, EPiServer.Blog" />
3. Added the Virtual Role Exhibitor
4. Added the ECIDMembershipProvider but did not reference it in any other MembershipProvider
5. Added custom Profile properties used by our Virtual Role
6. Added our UserControls own

Ran the site and got the ClassFactory errormessage. Feels like something else is causing the problems perhaps, so I checked the bin-folder to see what lies in there. Here is a list of "suspicious"/pluginsrelated entries:
EPiGoogleSitemaps.dll 1.0.0.3
EPiServer.Demo.Filemanager.dll 1.1.0.17
EPiTrace.dll 1.21.0.0 (hasn't updated this yet since mail was 1st prio)
FCKEditAdapter.dll 1.1.1.2
itextsharp.dll 4.1.2.0 (used for httpmodule to output pages as pdf)
QBrick.dll 5.0.0.12 (not used anymore so this I can take away, not tried it though)

Other than this there are a few dlls for DropIt X3, and ImageVault oldversions since as I said EPiServerMail was the 1st prio, but perhaps these affect something.

Is there some of these that could affect the running of the site?

#30884
Edited, Jun 25, 2009 13:28
Vote:
 

I managed to solve the problem so that the site runs but there has to be something left from the R1 SP3 since the solution was for this but also worked for us. The solution was this:

http://www.kulov.net/blogs/martin/2009/01/typeinitializationexception-in.html

#31116
Jul 03, 2009 11:49
Vote:
 

Since we moved the site to Windows server 2008 the above mentioned fix for our ClassFactory problem can not be used without getting a "Request is not available in this context"-error message. So this means that our problem is back. However just occasionally. The site can run for days sometimes but then something happens that causes the site to restart and then it get into a deadlock with this error message

2009-09-22 13:17:40,446 [9] EPiServer.Web.InitializeEngine.Initialize(:0) - UnInitializeAction on the method b__18 System.TypeInitializationException: The type initializer for 'EPiServer.DataAbstraction.UnifiedPathInfo' threw an exception. ---> System.TypeInitializationException: The type initializer for 'EPiServer.CacheManager' threw an exception. ---> EPiServer.BaseLibrary.ClassFactoryException: ClassFactory not initialized

All I can do at this moment is to iisreset and after a few tries the site comes up again.

This error started to occur after upgrade from EPiServer R1 SP3 to CMS R2 SP1. Read all forumposts on this issue but can't really apply none of the solutions. Our own code for the website does not hook into Global functions as one solutions points at and the site is upgraded successfully.

Our site/system is configured like this:
Windows server 2008 x64
EPiServer CMS 5.2.375.133
EPiServerMail 4.4.0.141 and EPiServerCommon hotfix applied
EPiServer Composer 3.2.5.115
Interactive Scene (Obg.CMS5 1.0.1.1, Obg.InteractiveScene.CMS5 1.3.100.23456)EPiServer Blog 5.2.375.133 with Demo templates functionality
SearchEngineSitemaps

The development environment is runned on Vista in Visual Studio 2008 and is debugged in VS Development Server. This environment does not have EPiServerMail, Composer, Interactive Scene or SearchEngineSitemaps installed.

Is there something with our code/configuration that can cause this type of error?

It seems weird that the site can run and be updated most of the times but then sometimes get in a deadlock state.

I am in desperate need of any advice on how to start debugging this problem so if anyone has anything to recommend please do.

#32877
Edited, Sep 22, 2009 14:17
Vote:
 
Unfortunately I do not have a solution to your problem, however I would suggest that you post the current issue in the CMS area of the forum (for a better chance of getting attention from the right people) or registering a support incident.
#32878
Sep 22, 2009 14:39
This thread is locked and should be used for reference only. Please use the Legacy add-ons forum to open new discussions.