PowerPivot Gallery Snapshots not Generating

Issue

When new Excel files are added or updated in a PowerPivot Gallery library in SharePoint 2013, a process called GallerySnapshot.exe is supposed to kick off and generate some pretty thumbnail images for the Silverlight gallery view of the library.  I ran into a scenario where the process was not running and no thumbnails were generating.  No hourglass was showing (should happen while process is running.)  No red X was showing (happens when errors during the process occur.)

This is an example of what I was seeing:

image

This is what it should look like when the process is running (not happening in my environment):

image

The full path to the executable is: “C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\BIN\GallerySnapshot.exe”

 

Testing

I determine the GallerySnapshot.exe process was not even being called by:

  1. Add a sample excel file
  2. Start up ProcMon and set a filter on the process name contain ‘GallerySnapshot’
  3. Modify the properties of the Excel file (this should trigger the process)

In my case, the GallerySnapshot process was not even being called.

Solution

Turns out to be a pretty easy fix.  All you need to do is deactivate the site collection feature called “PowerPivot Feature Integration for Site Collections”.  Once the feature is deactivated, re-activate it.  Then update the Excel workbook and you should see the process start to kick off.  Thumbnails should show up in a minute or two.

 

image

Web Part Page Maintenance

Here is a simple way to get to the web part page maintenance screen.  This can be helpful if a web part customization is causing the page to error out.

 

All you need to do is append:

?contents=1

to the page URL.  For example, if your page URL is http://sharepoint/Pages/Home.aspx, you can enter http://sharepoint/Pages/home.aspx?contents=1

From the maintenance page, you can delete problematic web parts:

 

image

Error Processing the PowerPivot Management Dashboard

Symptoms

There is a timer job called “PowerPivot Management Dashboard Processing Timer Job” that, by default, runs daily.  This process relies on the secure store service to authenticate to the data source.  If the permissions on the SSS target application are not correct, you will receive an “Access is denied to the secure store service” error when this timer job runs.

clip_image002

Solution

Check the SSS ID for the Refresh Account

$ppv = Get-PowerPivotServiceApplication

$ppv | fl *Account*

Next, open the SSS and edit the Target Application that corresponds to the one that the PowerPivot service application is using.

clip_image004

On the third page of the edit wizard, ensure that the farm account and the service application account for PowerPivot are in the Members list:

clip_image006

Lastly, Re-Run the Dashboard Processing Timer Job by clicking Run Now on the timer job definition page, or you can run script below.

Get-SPTimerJob “PowerPivot Dashboard Processing Timer Job” | Start-SPTimerJob

clip_image008

Result

You should now see that the cube has been processed on the PowerPivot management dashboard!

clip_image010

Incoming Email not Processing After 2013 Upgrade

Issue

After upgrading my SharePoint 2010 databases to SharePoint, I noticed that incoming email was not processing. The timer job was running every minute as it should, but it would throw and error for each message in the drop folder:

clip_image002

Message: Error occurred processing 1 message(s).

In my case, my 2013 farm was running the December 2014 CU, which is version 15.0.4675.1000.

Cause

There is a bug that was likely introduced in the December 2014 CU that incorrectly checks the Sandbox Solution Code Limit on the site’s quota. The key here is that the quota template needs to have values specified in the Sandbox Solutions with Code Limit section.

This won’t work

clip_image004

This will work:

clip_image006

Resolution

Update the site’s quota template to include both storage and sandbox solution code limits.

A bug report has already been filed with Microsoft on this issue.

UPDATE 4/15/15: A fix for this issue is included in the April 2015 CU for SharePoint 2013

SharePoint 2013 – Access to WSS Virtual Directory Denied – Event 7888

Symptoms

  • SharePoint web app won’t load
  • Event 7888 in your SharePoint Operational Event log

 

 

Event Details:

Log Name:      Microsoft-SharePoint Products-Shared/Operational
Source:        Microsoft-SharePoint Products-SharePoint Server
Date:          3/11/2015 2:34:29 PM
Event ID:      7888
Task Category: General
Level:         Warning
Keywords:     
User:          NT AUTHORITY\IUSR
Description:
A runtime exception was detected. Details follow.
Message: Access to the path ‘D:\Web\wss\VirtualDirectories\SiteName\bin’ is denied.
Technical Details:
System.UnauthorizedAccessException: Access to the path ‘D:\Web\wss\VirtualDirectories\MySite\Default\bin’ is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
   at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   at System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()
   at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   at System.Web.UI.ScriptManager.get_DefaultAjaxFrameworkAssembly()
   at System.Web.UI.ScriptManager..ctor()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlScriptManager()
   at ASP.MYSITE15_MASTER__373277105.__BuildControl__control29()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlSPHtmlTag()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlTree(MYSITE15_MASTER__373277105 __ctrl)
   at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)
   at System.Web.UI.Page.ApplyMasterPage()
   at System.Web.UI.Page.PerformPreInit()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

 

Solution

Run the SharePoint products configuration wizard.  The configuration wizard applies the needed local permissions for SharePoint to function. 

Search Host Controller Service stuck in ‘Starting’

Symptoms

When you try to create a new search service application in SharePoint 2013, you get an error back from New-SPEnterpriseSearchServiceApplication that indicates that the search services are not running on the computer.

If you look at the “Services on Server” page, you will notice that the “Search Host Controller Service” is stuck in the Starting state.

image 

Looking at the event log, you will see repeated errors from the service:

 

Event 1000

Log Name: Application

Source: Application Error

Level: Error

Description:

Faulting application name: hostcontrollerservice.exe, version: 15.0.4521.1000, time stamp: 0x519e34b6

Faulting module name: KERNELBASE.dll, version: 6.3.9600.17415, time stamp: 0x54505737

Exception code: 0xe0434352

Fault offset: 0x0000000000008b9c

Faulting process id: 0xd8c

Faulting application start time: 0x01d0584c573dbfcd

Faulting application path: D:\Program Files\Microsoft Office Servers\15.0\Search\HostController\hostcontrollerservice.exe

Faulting module path: C:\Windows\system32\KERNELBASE.dll

Report Id: 95d19148-c43f-11e4-80dd-005056851adf

 

Event 1026

Log Name: Application

Source: .NET Runtime

Level: Error

Description:

Application: hostcontrollerservice.exe

Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.

Exception Info: System.ServiceModel.CommunicationException

Stack:

at Microsoft.Ceres.HostController.WcfServer.WcfService.StartService()

at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

at System.Threading.ThreadHelper.ThreadStart()

 

Event 8193

Log Name: Application

Source: VSS

Level: Error

Description:

Volume Shadow Copy Service error: Unexpected error calling routine RegOpenKeyExW(-2147483646,SYSTEM\CurrentControlSet\Services\VSS\Diag,…). hr = 0x80070005, Access is denied.

Operation:

Initializing Writer

Context:

Writer Class Id: {0ff1ce15-0201-0000-0000-000000000000}

Writer Name: OSearch15 VSS Writer

Writer Instance Name: OSearch15 Replication Service

Writer Instance ID: {d3326e3d-2c07-4bab-8019-d0c197d8bc4e}

 

Resolution

Correct the permissions issue in the registry

1. Open RegEdit

2. Edit the permissions on the following key to grant the local group called WSS_WPG full control of the following keys

HKLM\System\CurrentControlSet\Services\VSS\Diag
HKLM\System\CurrentControlSet\Control\ComputerName

This is needed so that SharePoint can create the following key:

image

Stop and then re-provision the service

1. Run the following script to force stop the service that is stuck in starting:

$server = Read-Host “Server Name”

$ServiceInstance = Get-SPServiceInstance -Server:$server | ? {$_.TypeName -eq “Search Host Controller Service”}

$ServiceInstance.Unprovision()

2. Start your process of creating the search service application over again. For example, you can run:

Start-SPEnterpriseSearchServiceInstance $server

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $server

3. You should then see that the host controller has successfully started

image

How to move an Access 2010 Web Database to a Different SharePoint Site

1. Open the Access Web database

clip_image001

2. Save the database to a local file by selecting File -> Save As -> Save Database As -> Save as Local Database

clip_image003

3. Return to the File tab, then click Publish to Access Services on the Info tab

image

4. Enter the new site URL and site name

5. The web database will be created as a sub-web of the URL specified

6. Remove the local copy of the database