1

A while ago I deployed a feature to my site that included a JavaScript file. I have since removed the file from the feature. I have also deleted and recreated sites within the mysite webapp.

I have the following error

[MissingSetupFile] File
[Features\MysitePerms_Site_ApplyCustomMasterPage\jQuery\jquery-1111min.js] is referenced
1 times in the database [MySite_Content], but is not installed on the current farm.
Please install any feature/solution which contains this file. One or more setup files
are referenced in the database [MySite_Content], but are not installed on the current
farm. Please install any feature or solution which contains these files.

I followed the advice here: ( Diagnose MissingWebPart and MissingAssembly issues from the SharePoint Health Analyzer using PowerShell ) which resulted in the following output:

Id :
SiteId :
DirName :
LeafName :
WebId :
ListId :

Id : a46e3a53-af2a-4a3c-9c52-dd903dee7929
SiteId : 7f507741-ec91-43db-bb8e-334f29f2458c
DirName : personal/farm/SiteAssets
LeafName : jquery-1111min.js
WebId : 1cc9837e-1f88-46a7-b9ac-35b3cef02647
ListId :

Id : 2438ba11-cb23-4553-8b1b-0ad124ecfe1e
SiteId : dc717951-79b3-4c6f-9e1d-6c0a7f96bb6d
DirName : personal/jdoe/SiteAssets
LeafName : jquery-1111min.js
WebId : 3b17c03a-9659-47f9-a8a4-0a0cbab593c6
ListId :

Id : 92b88df5-6da5-406c-8869-02e2c93cb88f
SiteId : 4d71f0a2-9011-493b-a2f7-752488eaa208
DirName : SiteAssets
LeafName : jquery-1111min.js
WebId : 138ca247-3953-4d1f-ab20-cb9a062720e0
ListId :

But when I search for the Site and Webs in these results via:

$site = Get-SPSite -Limit all | 
   where { $_.Id -eq "7f507741-ec91-43db-bb8e-334f29f2458c" }
$web = $site | Get-SPWeb -Limit all | 
   where { $_.Id -eq "1cc9837e-1f88-46a7-b9ac-35b3cef02647" }
$web.Url

nothing is returned (this code is just for the first result). It seems that the Sites and Webs that are referencing the missing file no longer exist. Yet there is still a record in the AllDocs database.

I know I cannot touch the DB. Does anyone have any suggestions?

1
  • Beuller...? Beuller?
    – Robbie
    Commented Sep 4, 2014 at 1:04

1 Answer 1

0

Use a PowerShell command to remove the setup files using Id, SiteId and WebId provided by your output.

#File Information
$setupFileID = "xxxxxx"
$siteID = "xxxxxx"
$WebID = "xxxxxx"

#Get file
$site = Get-SPSite -Identity $siteID
$web = Get-SPWeb -Identity $WebID -Site $siteID
$file = $web.GetFile([GUID]$setupFileID)

#Report on location
$filelocation = "{0}{1}" -f ($site.WebApplication.Url).TrimEnd("/"), $file.ServerRelativeUrl
Write-Host "Found file location:" $filelocation

#Delete the file, the Delete() method bypasses the recycle bin
$file.Delete()

$web.dispose()
$site.dispose()

References:

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.