We installed the EPiServer Social Reach plugin a while back into one of our sites but everytime we try and move that site to a new server/dev box or whatever we always have major issues with this plugin. We constantly get the error:
All of the dll's exist within the modulesbin directory within the root of website but it still does not work. We randomly find that if we copy the dll's in to the bin folder that it starts to work...sometimes. And then if it does, when we log in to the admin interface, there is an available update but when we try to update it, we cant becuase the DLL's exist within the bin folder, we get an error like:
ERROR EPiServer.Packaging.SitePackageManager: Aborting operation. The following add-on assemblies exist in the main 'bin'
Can anyone make any suggestions on how to fix this? Either to manually remove it or to point me in the direction of how to fix these issues all together. I have tried removing all of the references to EPiServer.Social in all of the code/config files but it makes no difference.
Could you provide a stack trace for this "Unable to find a module by assembly... " exception?
Also please verify that EPiServer Social Reach add-on is deployed as protected module.
The path to protected modules is defined in episerver.packaging section in web.config. Default path to protected modules is you_site_VPP_folder\Modules, for example C:\EPiServer\VPP\SiteName\Modules. Social Reach add-on should be deployed in subfolder, something like C:\EPiServer\VPP\SiteName\Modules\EPiServer.Social
Thank you for your response!! The full error from the logs is:
2013-11-26 09:35:59,577  ERROR EPiServer.Global: 1.2.5 Unhandled exception in ASP.NET
System.ArgumentException: Unable to find a module by assembly 'EPiServer.Social.Configuration, Version=18.104.22.168, Culture=neutral, PublicKeyToken=null'
Parameter name: moduleAssembly
at EPiServer.Shell.Paths.ToResource(Assembly moduleAssembly, String moduleRelativeResourcePath)
at EPiServer.PageSetupEventHandler.Invoke(PageBase sender, PageSetupEventArgs e)
at EPiServer.UI.SystemPageBase..ctor(Int32 enable, Int32 disable)
at ASP.util_login_aspx..ctor() in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\28f01286\555d2edf\App_Web_4cua3vso.0.cs:line 0
at __ASP.FastObjectFactory_app_web_4cua3vso.Create_ASP_util_login_aspx() in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\28f01286\555d2edf\App_Web_4cua3vso.2.cs:line 0
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
My EPiServer.Packaging section in the web.config is simply:
<episerver.packaging protectedVirtualPath="~/EPiServer/" />
I also noticed that there is the EPiServer.Shell section which has Social listed under public:
<publicModules rootPath="~/modules/" autoDiscovery="Modules">
<add assembly="EPiServer.Social" />
I can confirm that the EPiServer.Social folder does exist within the VPP\Modules folder.
Thank you very much for all your help.
All the bestDave
Ok, I see where the problem can be. Couple of questions to make sure that we get better solution:
Thank you for getting back to me so quickly!!
Many thanks once again
Ok. The first problem is that Social Reach is deployed in 2 different locations, as protected and public module. The second problem is that the system cannot find proper module by type from EPiServer.Social.Configuration assembly and you get that exception. Let's try to fix it without uninstalling the add-on.
I would suggest to backup your site files and then try the following:
1. Remove this public module settings in web.config:
<add assembly="EPiServer.Social" />
2. Remove EPiServer.Social subfolder and it;s content in Site_Root\modules directory. It sounds like EPiServer.Social does not exist in Site_Root\modules but there are several subfolders like Content, Providers, etc that seems related to Social Reach module. Remove them, if they look like the Social Reach folders and files.
3. Remove EPiServer.Social* assemblies from the site bin directory.
4. Restart your site and check that issue is solved. Try to login to Add-ons UI and check the list of installed add-ons. Verify that there is Social Reach tab in global navigation menu. Try use Social Reach add-on.
And btw, do you have any EPiServer.Social-related settings in your web.config?
That worked perfectly!! Thank you so much for your help, that has been really making life difficult for us. We actually don't have any EPiServer.Social references left in the web.config at all now though, should we have anything?
You should not have any EPiServer.Social stuff in web.config when it is installed as an add-on, so it sounds good. Just checking whether there is anything left from version 1.0.
Also I would recommend upgrading EPiServer Social Reach to the latest version, the update should be available in Add-ons UI.
Thanks Dmytro, I have just updated to 1.4.1 and everything seems good. I checked back in an old version of my web.config and I did have the following:
<workflow type="EPiServer.Social.WF.SocialMessageFlow, EPiServer.Social.WF" />
<allow roles="SocialEditors, SocialAdmins" />
<deny users="*" />
<allow roles="SocialAdmins" />
<deny users="*" />
As well as some additional bits for Dotnetopenauth. Are these still required or can I get rid of them?
Many many thanksDave
No, you should not have that stuff in web.config when EPiServer Social Reach is installed as an add-on.
DotNetOpenAuth add-on also should be installed on your server automatically as a dependency of EPiServer Social Reach, it should be listed in Add-ons UI / Installed.
Thanks Dmytro, I will go head and remove those as well then.
Many thanks once againDave
We had an issue with this error message with CMS 7.5+. The problem was solved by copying the contents of the appdata folder from the dev machine that worked to the dev machine that didn't work. The problem was caused by adding the contents of the modulesbin folder to the other dev machine. The first machine had social reach installed, the 2nd one didn't.
"The first machine had social reach installed, the 2nd one didn't."
Where can we get the Social Reach installer for EPi 7.0/7.1?