Feature still referenced after removed
I've removed several features in my 2007 farm using the "retract solution" method but it appears that my content databases still reference these features after I uninstalled them. How can I delete those references? It tells me the databases
reference these features when I run the test-spcontentdatabase command.
April 29th, 2011 11:30am
You would need to uninstall the feature using stsadm.
stsadm.exe -o uninstallfeature
{-filename <relative path to Feature.xml> |
-name <feature folder> |
-id <feature Id>}
[-force]
This will uninstall the corresponding feature from all the web applications. This should remove the features.
Thanks
V
Free Windows Admin Tool Kit Click here and download it now
April 29th, 2011 12:26pm
I tried performing those commands already and I get the error, "Failed to find the XML file at location '12\template\features\FEATURENAME\feature.xml'. What else can I try to remove the references?
April 29th, 2011 12:33pm
Did you follow the below steps while retracing the solution?
deactivate features uninstall features retract solution.
http://blogs.msdn.com/b/kaevans/archive/2011/02/02/sharepoint-don-t-forget-to-uninstall-the-feature.aspx
The only solution I can think of is redeploying the solution again and following the above defined steps for retracting the solution.
Hope this helps.
thanksV
Free Windows Admin Tool Kit Click here and download it now
April 29th, 2011 12:49pm
I've gone through these steps as you've suggested and the solution gets removed when using the -force switch but I still get the same errors when using the test-spcontentdatabase operation and the references still exist.
April 29th, 2011 3:52pm
Hi GWsysadmin,
Are they
WebApplication scoped or Farm scoped Features? If so, you must deactivate features before uninstalling them.
Did you check if SharePoint still has pointer records to the features in the configuration database by using the following query ?
Select * from dbo.Features where FeatureId=”Feature_GUID”
From the following reply, it seems that you create a folder within the Features directory. When you create a folder within the Features directory through Windows Explorer
by right-clicking a folder, pointing to New, and then clicking Folder, the new folder does not have inherited permissions.
"Failed to find the XML file at location '12\template\features\FEATURENAME\feature.xml'.
You can use the enumallwebs operation in Stsadm.exe to identify server-side customizations that are being used.
After uninstalling a Feature, reset Internet Information Services (IIS) so that changes can take effect.
Please post the exact error into the forum for deeper analyze.
Finally, I provide the following link for your reference:
Installing or Uninstalling Features
http://msdn.microsoft.com/en-us/library/ms442691(v=office.12).aspx
Thanks,
Rock Wang
TechNet Subscriber Support in forum
If you have any feedback on our support, please contact
tngfb@microsoft.comRegards, Rock Wang Microsoft Online Community Support
Free Windows Admin Tool Kit Click here and download it now
May 2nd, 2011 2:37am
Well when I run the query to find the guid it doens't return any results for that content database. Do I need to perform the stsadm deactivate and uninstall commands on every server in my farm? I notice if I run the commands on my web server the feature
folders (12\template\features\featurname) still exist on one of my other servers in the farm.
I wonder if this stems from the fact I need to install solutions in a unique manner for them to work in my farm. I need to install them on every server I have and then run the stsadm "syncsolution" and "removesolutiondeploymentlock" commands or the
solutions will show up as "not deployed" in central admin. Would I need to do the same when removing them?
May 2nd, 2011 10:17am
Also, is it normal for the feature folder to remain there after being retracted? I can see the features are also still in the GAC even though I've retracted them.
Free Windows Admin Tool Kit Click here and download it now
May 2nd, 2011 2:24pm
Hi GWsysadmin,
From your reply, you notice if you run the commands on my web server the feature folders (12\template\features\featurname) still exist on one of your other servers
in the farm.
I suggest that you perform the stsadm deactivate and uninstall commands on every server in my farm, then reset Internet Information Services (IIS) so that changes
can take effect.
In addition, please refer to the following article to fix the issue:
http://www.alexthissen.nl/blogs/main/archive/2007/07/18/removing-malfunctioning-windows-sharepoint-services-solutions.aspx
Thanks,
Rock Wang
TechNet Subscriber Support in forum
If you have any feedback on our support, please contact
tngfb@microsoft.comRegards, Rock Wang Microsoft Online Community Support
May 4th, 2011 12:52am
Ok I ran the commands to deactivate, retract, and delete the solutions on every server and the feature folders are indeed gone now. When I run the 'enumallsolutions' cmdlet it doesn't show the solutions still being referenced so for all intensive purposes
it looks like they were indeed uninstalled correctly. However, there are still references to them when I run the test-spcontentdatabase operation so can I safely ignore those errors?
I ran a query on the content database to find out where the reference is and it exists in the 'AllDocs' table of the content database in the 'SetupPath' column. The column value states "Features\nameoffeature\nameoffeature.webpart".
Could it be that the retract operation doesn't clear this out by design and the test-spcontentdatabase operation is configured to look there for features?
Free Windows Admin Tool Kit Click here and download it now
May 4th, 2011 8:27am
From research on the issue, it seems that this process only leaves behind remnants when it is uninstalled incorrectly.
Have you tried re-installing these features and purging them using the correct steps as mention above?
The blog post mentioned by V284 is a solid starting point. :
http://blogs.msdn.com/b/kaevans/archive/2011/02/02/sharepoint-don-t-forget-to-uninstall-the-feature.aspx
It may be since you have to install them in a unique manner that can cause these remnants.
If it is a detriment to SharePoint, you should also be seeing failed references to features you un-installed in your SharePoint ULS logs.
Can you check your logs for anything that looks relevant?
Also, can you list the exact command you used for the test-spcontentdatabase?Fred Ellis - MSFT - "Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread."
May 13th, 2011 10:33am
Yes I've tried performing the proper steps after re-installing each feature and it appears I'm getting the same results. I deactivate the feature everywhere, retract it, and then uninstall it. The feature is removed from the TEMPLATES\Features
directory on each server and the files are removed properly from the GAC. The database still references the webpart after these steps. See below for the log file, the webpart in question is called bamboo.worldclockandweather. For the command
I'm just using, test-spcontentdatabase -name XXXXXX -webapplication XXXXXX.
05/16/2011 12:22:39.00 PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable Potentially excessive number of SPRequest objects (16) currently unreleased on thread 10. Ensure that this object or its parent (such as an SPWeb or SPSite) is being properly disposed. This object is holding on to a separate
native heap.This object will not be automatically disposed. Allocation Id for this object: {9835C73B-8743-414C-A065-EBE3D7CCF95F} Stack trace of current allocation: at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(SPSite site,
String name, Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous) at Microsoft.SharePoint.SPWeb.InitializeSPRequest()
at Microsoft.SharePoint.SPWeb.SetAllowUnsafeUpdates(Boolean allowUnsafeUpdates) at Bamboo.Provisi... 84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00* PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable ...oning.FeatureReceivers.WebPartGalleryEntriesRemover.RemoveWebParts(SPSite site, SPElementDefinitionCollection elements) at Bamboo.Provisioning.FeatureReceivers.WebPartGalleryEntriesRemover.RemoveWebPartsFromSiteCollection(SPFeatureReceiverProperties
properties) at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce) at Microsoft.SharePoint.SPFeature.Deactivate(SPSite siteParent, SPWeb webParent, Boolean fForce)
at Microsoft.SharePoint.SPFeatureCollection.Remove(Guid featureId, Boolean force) at Microsoft.SharePoint.SPFeature.ActivateDeactivateFeatureAtSite(Boolean fActivate, Boolean fEnsure, Guid featid, SPFeatureDefinition featdef, String
urlScope, String sProperties, Boolean fForce) at Microsoft.SharePoint.SPFeature.ActivateDeactiv... 84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00* PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable ...ateFeatureAtScope(Boolean fActivate, Guid featid, SPFeatureDefinition featdef, String urlScope, Boolean fForce) at Microsoft.SharePoint.PowerShell.SPCmdletDisableFeature.DeleteDataObject()
at Microsoft.SharePoint.PowerShell.SPRemoveCmdletBase`1.InternalProcessRecord() at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord() at System.Management.Automation.CommandProcessor.ProcessRecord()
at System.Management.Automation.CommandProcessorBase.DoExecute() at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)
at System.Management.Automation.PipelineNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context) at System.Management.Automation.S... 84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00* PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable ...tatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context) at System.Management.Automation.StatementListNode.Execute(Array
input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context) at System.Management.Automation.ParseTreeNode.Execute(Array input, Pipe outputPipe, ExecutionContext context) at System.Management.Automation.ScriptCommandProcessor.ExecuteWithCatch(ParseTreeNode
ptn, Array inputToProcess) at System.Management.Automation.ScriptCommandProcessor.RunClause(ParseTreeNode clause, Object dollarUnderbar, Object inputToProcess) at System.Management.Automation.CommandProcessorBase.DoComplete()
at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEn... 84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00* PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable ...umerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.PipelineNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context) at System.Management.Automation.StatementListNode.Execute(Array
input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context) at System.Management.Automation.ParseTreeNode.Execute(Array input, Pipe outputPipe, ExecutionContext context) at System.Management.Automation.ScriptCommandProcessor.ExecuteWithCatch(ParseTreeNode
ptn, Array inputToProcess) at System.Management.Automation.ScriptCommandPro... 84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00* PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
naqx Monitorable ...cessor.RunClause(ParseTreeNode clause, Object dollarUnderbar, Object inputToProcess) at System.Management.Automation.CommandProcessorBase.DoComplete() at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object
input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper() at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()
at System.Management.Automation.Runspaces.PipelineThread.WorkerProc() at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
84ec2af3-fd13-475c-8583-36bbf79a86d3
05/16/2011 12:22:39.00 PowerShell.exe (0x018C) 0x0ECC SharePoint Foundation Performance
nask Monitorable An SPRequest object was reclaimed by the garbage collector instead of being explicitly freed. To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done
using it. Allocation Id: {BF00AD97-7AC2-4036-982A-7B0BCFA875A8} To determine where this object was allocated, set Microsoft.SharePoint.Administration.SPWebService.ContentService.CollectSPRequestAllocationCallStacks = true. 84ec2af3-fd13-475c-8583-36bbf79a86d3
Free Windows Admin Tool Kit Click here and download it now
May 16th, 2011 2:04pm
It seems that the reference to the alldocs table is unfounded as it is a store for all of the information pertaining to documents and has little to do with features and webparts(internally). It may be that a document is referencing that web part or feature.
The table that contains features is the Features table. Deactivating a feature is not going to delete any references made to that feature by documents.
The other thing is that this is a 3rd party feature, you never know how that feature is designed and what it is going to affect. It is recommended that you ask the Bamboo community if they have seen this happen before, but it looks like the reference to
the feature you are seeing is just a document property of some kind. Since you found the reference in that particular table(alldocs), it is linked to a document. You could delete and re-upload the document to remove the reference to that feature.Fred Ellis - MSFT - "Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread."
May 27th, 2011 9:38am
It seems that the reference to the alldocs table is unfounded as it is a store for all of the information pertaining to documents and has little to do with features and webparts(internally). It may be that a document is referencing that web part or feature.
The table that contains features is the Features table. Deactivating a feature is not going to delete any references made to that feature by documents.
The other thing is that this is a 3rd party feature, you never know how that feature is designed and what it is going to affect. It is recommended that you ask the Bamboo community if they have seen this happen before, but it looks like the reference to
the feature you are seeing is just a document property of some kind. Since you found the reference in that particular table(alldocs), it is linked to a document. You could delete and re-upload the document to remove the reference to that feature.Fred Ellis - MSFT - "Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread."
Free Windows Admin Tool Kit Click here and download it now
May 27th, 2011 9:38am
Thanks for the reply.
Is it possible that you also need to manually remove the web part from the web part gallery on each site collection where it used to be activated? Could that be the "document" that is linked to it? I see the web parts still exist in the gallery
after the features themselves are removed.
May 27th, 2011 10:30am
Thanks for the reply.
Is it possible that you also need to manually remove the web part from the web part gallery on each site collection where it used to be activated? Could that be the "document" that is linked to it? I see the web parts still exist in the gallery
after the features themselves are removed.
Free Windows Admin Tool Kit Click here and download it now
May 27th, 2011 10:30am
Yes, your assumption is correct. You can go into the web part gallery and delete the web part using the following path:
Site Actions > Site Settings > Modify All Site Settings > Web Parts under Galleries
Find the web part(s) which were deleted from features.
Click the Edit button
Click DeleteFred Ellis - MSFT - "Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread."
May 27th, 2011 3:52pm