CKS:EBE - httpModule entry re-appears after uninstalling

Topics: Enhanced Blog Edition
Developer
Jun 22, 2009 at 9:10 PM

Hi René

At one point we had combined the March 4, 2008 CKS:EBE 2.0 release with another solution we're deploying to our intranet.  We decided to remove the EBE to separately deploy later, and so we uninstalled the CKS:EBE, and cleaned the web.config of the safecontrol, httpHandler, expression and httpModule entries.  However, whenever we install the solution file (sans EBE components), the entries show back up in the web.config:

in SafeControls:

      <SafeControl Assembly="CKS.EBE, Version=0.1.0.0, Culture=neutral, PublicKeyToken=3e8b700c069fb747" Namespace="CKS.EBE.WebControls" TypeName="*" Safe="True" />

in httpHandlers:

      <add verb="*" path="*/rss.xml" type="CKS.EBE.RssHandler, CKS.EBE, Version=0.1.0.0, Culture=neutral, PublicKeyToken=3e8b700c069fb747" />
      
in httpModules:

      <add name="CksEbeModule" type="CKS.EBE.BlogHttpModule, CKS.EBE, Version=0.1.0.0, Culture=neutral, PublicKeyToken=3e8b700c069fb747" />

and in compilation/expressionBuilders:

        <add expressionPrefix="BlogUrl" type="CKS.EBE.ThemeExpressionBuilder, CKS.EBE, Version=0.1.0.0, Culture=neutral, PublicKeyToken=3e8b700c069fb747" />

When this happens, we get a backup of the old web.config, the new web.config has these entries, and the SharePoint web application fails to load because it can't find the HttpModule, bringing down our intranet.

I can see in changeset 11008 where these entries are created in WebApplicationFeatureReceiver.cs, but the feature is not in the Web Application features list, nor is the assembly in the GAC any more.  I've verified the none of the EBE components are in our solution file or it's manifest. 

Where is this configuration information being cached?  How do we prevent this from happening?

Regards,

Mike Sharp 

Developer
Jun 23, 2009 at 11:08 AM

Hi Mike,

when you deactivate the webapplication feature, all web.config modifications are removed automatically. There is no need to remove them manually.

If you do so and leave the webapplication feature activated, the entries will reappear on every solution update!

René

Developer
Jun 24, 2009 at 1:18 AM

Hi René,

That's what I figured, and that's exactly what we originally did.   The webapplication feature is gone, but those web.config entries keep coming back.  I can't for the life of me figure out where they're coming from, because the feature is deactivated and gone, and the assembly is no longer in the GAC.  Yet each time we deploy a solution where, for example, a safecontrol entry is being made, the existing web.config gets backed up and a new one shows up with the old EBE entries.  Hence the need to manually remove them (there is no feature to deactivate).

Any other ideas?  My only theory is pretty tenuous...

Regards,

Mike Sharp

Developer
Jun 24, 2009 at 9:41 AM

Hi Mike,

you can get rid of the entries by deleting them e.g. with the SharePoint Manager (http://www.codeplex.com/spm).

René

Developer
Jun 25, 2009 at 1:40 AM

Hey, that worked perfectly!  It even confirmed my theory.  ;^) 

We even had SPM installed already, but it never occurred to me to use it...I have to say, it's a fantastic tool. 

Thanks for the help!

Mike Sharp