2

I'm developing a SharePoint 2010 solution which consists of some web parts and other components. Furthermore the solution needs a application pages in the Central Administration for configuration.

So my solution contains an extra feature which places a custom actions in the Central Administration menu that links to a application page providing the configuration. The feature has the scope WebApplication and uses the Attribute AutoActivateInCentralAdmin set to True so the feature is automatically activated in the Central Administration when the solution is deployed to a web application. This part of my solution works as expected.

But I've got some issues regarding the resource files which are used by the application pages in the Central Administration as they only get deployed to the App_GlobalResources folder of web application the solution was deployed to but not to the App_GlobalResources of the Central Administration.

So I'm wondering why to use the AutoActivateInCentralAdmin when there is no automatic deployment of the resource files to the App_GlobalResources folder of Central Administration.

What is the best way to deploy the resource files to the Central Administrations App_GlobalResources folder whenever the solution is deployed to any web application in the farm? Is there an automatic way to this?

1 Answer 1

1

Whatever resources are placed in SPHive/CONFIG/AdminResources will be placed in the Central Admin App_GlobalResources folder.

7
  • I cannot confirm this. I mapped the AdminResources folder in my solution and copied my resource files to it. But when I deploy the solution to a web application the resource files don't get copied to the Central Admin App_GlobalResources folder.
    – Flo
    Commented Oct 26, 2010 at 10:29
  • what happens when you run stsadm -o copyappbincontent Commented Oct 26, 2010 at 10:50
  • Ah great this works. Is there a pendant to this stsadm statement in the SP object model? So that I could trigger it during feature activation?
    – Flo
    Commented Oct 26, 2010 at 12:29
  • Ok, I did some more research and found out, that stsadm -o copyappbincontent and ApplyApplicationContentToLocalServer() (which seems to be the pendant to stsadm -o copyappbincontent in the OM) are only executed on the local server the feature was activated on. So in a farm scenario both have to be call on each web front end server after feature activation. Unfortunately this is no option for me.
    – Flo
    Commented Oct 26, 2010 at 14:21
  • You would need to create a job that runs this code on all front end servers. Your Timer service account will need to be local administrator as well due to Microsoft's rubbish implementation of ApplyApplicationContentToLocalServer(). Their code checks if the current user is a local administrator and then runs code that actually doesn't require local admin rights. We ended up writing our own version of ApplyApplicationContentToLocalServer() that is automatically scheduled on all servers in the farm. It was a pain, but works very well. It also takes care of web.config changes and breadcrumbs Commented Oct 26, 2010 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.