Product Version Job: DCOM 10016 strikes again

For some time now, IT professionals have been modifying DCOM activation rights in order to keep their System event logs clean. In SharePoint 2010, that fix became slightly trickier, as permissions to modify the DCOM permissions had to be granted through the registry for the IIS WAM REG admin service and oSearch14 DCOM applications. Having made these fixes, I’ve noticed a new breed of DCOM 10016 error.

The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID
{000C101C-0000-0000-C000-000000000046}
and APPID
{000C101C-0000-0000-C000-000000000046}
to the user <FARM ACCOUNT> SID (S-1-5-21-xxxxxxx….) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.

The CLSID for this COM Server Application is MSIServer, used to activate the Windows Installer Service. You can find this by navigating to HKCRAppId and examining the details there:

Continue reading “Product Version Job: DCOM 10016 strikes again”

Optimising the SharePoint 2010 IW Demo VM Part 2

Continuing on from Part 1, in this post I’ll discuss the Microsoft 2010 Information Worker Demo Exchange VM, the SahrePoint VM’s event logs and potential future improvements to the environment.

Exchange Server Reconfiguration

Tidying up the Exchange server is a much more straight-forward process. In fact, all of the changes that I made are network orientated per the network changes from the first post, so if you are not adding a second NIC or a second fixed IP address on the original internal NIC, these steps aren’t necessary.
Continue reading “Optimising the SharePoint 2010 IW Demo VM Part 2”

Optimising the SharePoint 2010 IW Demo VM Part 1

Around the time that Microsoft released the public beta of SharePoint 2010 they also released a demonstration virtual machine, known as the 2010 Information Worker Virtual Machine, which was updated to RTM in mid-June. This is a fantastic resource for demonstrating SharePoint 2010. The content and demonstration scenarios (including walk-throughs) represent a huge investment from Microsoft and it would be foolish not to at least evaluate these assets. Personally, I think it’s silly to reinvent this wheel.

Now the public beta trial is expiring and people are moving to the RTM build. It appears to be much improved, in that more of the product works in this version and a few niggles have been fixed now. However, it’s widely acknowledged that the resource requirements for this virtual machine are gargantuan due to the breadth of what it offers.
Continue reading “Optimising the SharePoint 2010 IW Demo VM Part 1”

Scheduled Sitemap Generation for SharePoint 2010 Websites

As promised in my SharePoint 2010 SEO Analysis with the IIS SEO Toolkit post, while the IIS.NET SEO Toolkit does an excellent job of generating an initial sitemap and providing a nice GUI for ad hoc updates, it does not offer any obvious scheduling mechanism to ensure that your sitemap stays current with the changing content in your CMS. Thankfully, my colleague Glyn Clough whipped up some PowerShell to produce a full sitemap for your web application based on Jie Li’s initial script, which was scoped at the root web. Running this as a Windows scheduled task will get you a very up-to-date sitemap for all sites in your web application with very little on-going maintenance. Nice one Glyn!

Fixing the Usage and Health Data Collection Service Application Proxy

You may notice that the Usage and Health Data Collection Proxy is Stopped after deploying it in your environment. This is not just a matter of starting the service like it is with some Service Applications. In this case the SA proxy itself appears to be stopped.

Unfortunately I’ve found a problem with our development build, or rather, with SharePoint 2010. You may notice that the Usage and Health Data Collection Proxy is Stopped after deploying it in your environment. This is not just a matter of starting the service like it is with some Service Applications. In this case the SA proxy itself appears to be stopped. It appears that this is a known problem when provisioning this Service Application via the GUI. In fact, ours was created automatically as part of the Search Service Application creation process. At any rate, it doesn’t work in its current state in our environments, so it won’t actually collect any data.

To fix this just requires a couple of lines of PowerShell, courtesy of this article (to which I’ve added some clarification here).

Continue reading “Fixing the Usage and Health Data Collection Service Application Proxy”

SharePoint 2010 SEO Analysis with the IIS SEO Toolkit

The IIS.NET Search Engine Optimization (SEO) Toolkit provides a powerful analysis tool that can generate reports for web editors and can automatically generate sitemaps and robots.txt files as well. These reports not only provide insight in to page rank improvements but also help content editors identify missing/duplicate content and find broken links. This post provides an overview of how the tools can be used by content editors or web managers who do not have access to the server infrastructure and what you can expect to see when running an SEO Analysis against an out of the box SharePoint 2010 Publishing site. I will also review the server tools that generate sitemaps and robots.txt files.

Installing the SEO Toolkit

Although Remote Server Administration Tools can be installed on Windows Vista and Windows 7, I have produced the directions below on my Windows Server 2008 R2 desktop. The instructions should be fundamentally the same for any OS once IIS Manager is available locally, however it is installed. To be crystal clear, the SEO Toolkit can be used by anyone with Windows Vista, Windows 7, Windows Server 2008 or Windows Server 2008 R2. It is not a requirement to have access to the web server and it is not necessary to install IIS locally.

Continue reading “SharePoint 2010 SEO Analysis with the IIS SEO Toolkit”

SharePoint Redirections

In the lead-up to our SharePoint 2010 website launch I’ve been doing a fair amount of research in to the SEO Tools that work with SharePoint. We’ve been looking at automatic/scheduled generation of sitemaps, robots.txt management and conversion of 302 (temporary) to 301 (permanent) redirects. There are a couple of approaches to tackling the first two issues, which I’ll discuss in my next post, but this last issue is more peculiar to SharePoint, as you will have noticed if you’ve ever looked at Fiddler when you browse to the root of a path. For instance, if I browse to the root of my http://publishing/ publishing site I will be automatically redirected to http://publishing/Pages/default.aspx. On a blank site template I would be redirected from http://blank/ to http://blank/default.aspx. In each case SharePoint issues a 302 temporary redirect from the root of the path to the default page. This is not optimal for search on the internet, so many people have tried to rewrite the URL using the IIS URL Rewrite module. Unfortunately, “rewrites” are not supported with SharePoint but I have never seen this explained clearly. To clarify, this is what we’re talking about:

Continue reading “SharePoint Redirections”

Office Web App default cache size is 100 GB

Earlier today I noticed some fairly innocuous commentary in the Features that influence the size of content databases section of the Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) TechNet guidance:

“If Office Web Apps are being used, the Office Web Apps cache can significantly affect the size of a content database. By default, the Office Web Apps cache is configured to be 100 GB. For more information about the size of the Office Web Apps cache, see Manage the Office Web Apps cache.”

100 GB? Surely that can’t be right. So I followed the link and found that:

The Microsoft Word Web App and Microsoft PowerPoint Web App generate a series of images to create a rendition of a document that is viewable in the browser. If Microsoft Silverlight 3 is installed, XAML is used to create the rendition. Creating the rendition can consume large amounts of computer resources. To reduce resource consumption, the Word Web App and PowerPoint Web App store the renditions in a cache, created as part of a SharePoint content database. Renditions in the cache are then used for future requests of a view of the same document. In an environment where most documents change infrequently, but are viewed regularly, maximizing the space dedicated to the cache or the expiration period, can improve performance and reduce resource consumption. In an environment where most documents frequently change, you can optimize performance by reducing the space that is dedicated to the cache, or by reducing the time documents are stored in the cache.

So… make sure to plan SQL database disk space accordingly (nb: this is an update to the original post – I originally thought this was front-end disk space). Also note that you can pin the cache to a specific site collection’s content database. Either reduce the cache size (instructions in that link above) and adjust according to performance needs or invest in SQL storage accordingly.

And don’t forget to plunder the enormous investments Microsoft are making in SharePoint 2010 documentation. It’s the only way you’ll find out about all of these considerations.

Publishing a network-isolated virtual machine with RemoteApp

To understand the development environment design choices that this article pertains to, it may be worth glancing at the design section of my SharePoint development series before diving in, if you haven’t already followed those posts.

Cloning isolated VMs vs. scripted installation

One of the challenges we’ve always faced with SharePoint development has been the tension between cloning actually identical environments versus automating the deployment across distinct environments (or worse, repeating the installation manually). In the first case we save time by eliminating reconfiguration and this ensures a consistent experience for each user. This is particularly beneficial for software development. These benefits can also be obtained by scripting installation/configuration/deployment but there’s a considerable overhead associated with developing and testing those scripts. As SharePoint 2010 is still quite new and we’ve been working on projects for some time now, we didn’t have the luxury of waiting for those refinements and we needed to take advantage of these efficiencies as we had done with SharePoint 2007 projects.

Continue reading “Publishing a network-isolated virtual machine with RemoteApp”