Manually Un-installing a Module

Vote:
 

Hi All

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:

Unable to find a module by assembly 'EPiServer.Social.Configuration, Version=1.4.0.1, Culture=neutral, PublicKeyToken=null'
Parameter name: moduleAssembly

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.

Many thanks
Dave

 

#77722
Nov 25, 2013 13:23
Vote:
 

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

 

 

#77730
Nov 25, 2013 14:23
Vote:
 

Hu Dmytro

Thank you for your response!! The full error from the logs is:

2013-11-26 09:35:59,577 [27] ERROR EPiServer.Global: 1.2.5 Unhandled exception in ASP.NET
System.ArgumentException: Unable to find a module by assembly 'EPiServer.Social.Configuration, Version=1.4.0.1, Culture=neutral, PublicKeyToken=null'
Parameter name: moduleAssembly
   at EPiServer.Shell.Paths.ToResource(Assembly moduleAssembly, String moduleRelativeResourcePath)
   at EPiServer.Social.Configuration.SocialSection.get_Instance()
   at EPiServer.Social.Helpers.MessageBusiness.get_MinIntervalResolution()
   at EPiServer.Social.SocialInitializationModule.TryToSendScheduledSocialMessage()
   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.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   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:

<episerver.shell>
    <publicModules rootPath="~/modules/" autoDiscovery="Modules">
      <add name="EPiServer.Social">
        <assemblies>
          <add assembly="EPiServer.Social" />
        </assemblies>
      </add>
    </publicModules>
    <protectedModules rootPath="~/EPiServer/">
    </protectedModules>
  </episerver.shell>

    

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 best
Dave

#77784
Nov 26, 2013 11:12
Vote:
 

Ok, I see where the problem can be. Couple of questions to make sure that we get better solution:

  1. Can you see EPiServer Social Reach in installed add-ons list if you go to Add-ons?
  2. Which version of EPiServer.Social is included in packages.config file in your VPP\Modules folder?
  3. Could you verify whether modules folder inside your site root contains EPiServer.Social subfolder and files? Is it the same module that is deployed also in your VPP\Modules\EPiServer.Social folder? You can check files and assembly versions.
#77785
Nov 26, 2013 11:38
Vote:
 

Hu Dymtro

Thank you for getting back to me so quickly!!

  1. Unfortunately I cannot get into the admin section of the site due to this error at the moment but I am pretty confident last time I looked it was 1.4.0.1.
  2. Packages.config says 1.4.0.1
  3. The folder exists in the root\modules folder, however the contents of the folders seem quite different. In the VPP I have subfolders 1.4.0.1, Views  as well as files EPiserverSocialEPiServerSocial.config.sample, module. In the root\Modules folder I have subfolders Content, Providers, Scripts and Views. I have tried copying the VPP version into the root\modules folder but I still get the same error.

Many thanks once again

All the best
Dave

#77787
Nov 26, 2013 11:52
Vote:
 

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 name="EPiServer.Social">
        <assemblies>
          <add assembly="EPiServer.Social" />
        </assemblies>
      </add>

     

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?

#77792
Nov 26, 2013 12:14
Vote:
 

Hi Dmytro

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?

Many thanks
Dave

#77796
Nov 26, 2013 12:42
Vote:
 

Great!

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.

#77797
Nov 26, 2013 12:51
Vote:
 

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:

<social>
    <providers>
..... </providers> <workflow type="EPiServer.Social.WF.SocialMessageFlow, EPiServer.Social.WF" /> </social> <location path="modules/EPiServer.Social"> <system.web> <authorization> <allow roles="SocialEditors, SocialAdmins" /> <deny users="*" /> </authorization> </system.web> </location> <location path="modules/EPiServer.Social/Settings"> <system.web> <authorization> <allow roles="SocialAdmins" /> <deny users="*" /> </authorization> </system.web> </location>

    

As well as some additional bits for Dotnetopenauth. Are these still required or can I get rid of them?

Many many thanks
Dave

#77799
Edited, Nov 26, 2013 13:08
Vote:
 

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.

#77801
Nov 26, 2013 13:46
Vote:
 

Thanks Dmytro, I will go head and remove those as well then.

Many thanks once again
Dave

#77804
Nov 26, 2013 14:04
Vote:
 

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.

#85761
Edited, May 05, 2014 11:02
Vote:
 

"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?

#111996
Oct 22, 2014 8:53
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.