<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Troubleshooting SharePoint!</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/vijgang/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/vijgang/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 16 Apr 2019 05:34:42 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Odd issue around configuring a dedicated WFE for SharePoint crawl</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/odd-issue-around-configuring-a-dedicated-wfe-for-sharepoint-crawl</link>
      <pubDate>Fri, 29 Jun 2012 00:18:12 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2012/06/29/odd-issue-around-configuring-a-dedicated-wfe-for-sharepoint-crawl/</guid>
      <description><![CDATA[We had an interesting issue recently where the SharePoint services would not start up and the...]]></description>
      <content:encoded><![CDATA[<p>We had an interesting issue recently where the SharePoint services would not start up and the configuration cache would not get populated. The event logs and ULS were filled with errors about Invalid Uri.</p> <p><strong>Error details:</strong></p> <p>Exception information: <br>&nbsp;&nbsp;&nbsp; Exception type: UriFormatException <br>&nbsp;&nbsp;&nbsp; Exception message: Invalid URI: The format of the URI could not be determined. </p> <p>And the call stack of the error looks something like this,</p> <p>[UriFormatException: Invalid URI: The format of the URI could not be determined.]<br>&nbsp;&nbsp; System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) +7204799<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes) +1848<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes) +3124<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes) +2926<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList childNodes, Boolean isMerge, Boolean bResolveMissingTypes) +685<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value, Boolean bResolveMissingTypes) +85<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(ISPPersistedStoreProvider persistedStoreProvider, Guid id, Guid parentId, String name, SPObjectStatus status, Int64 version, XmlDocument state) +27172224<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Guid parentId, Guid type, String name, SPObjectStatus status, Byte[] versionBuffer, String xml) +347<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPConfigurationDatabase.FetchObject(Guid id) +1396<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Boolean checkInMemoryCache, Boolean checkFileSystemCache) +406<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.GetObject(Guid id) +59<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPPersistedObjectCollection`1.get_Item(Guid objId) +50<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.&lt;GetEnumeratorImpl&gt;d__0.MoveNext() +239<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.Enumerator`1.MoveNext() +23<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPWebApplication.AcquireAlternateUrlCache(SPFarm farm) +402<br>&nbsp;&nbsp; Microsoft.SharePoint.Administration.SPWebApplication.Lookup(SPFarm farm, Uri requestUri, Boolean fallbackToHttpContext, SPAlternateUrl&amp; alternateUrl, SPSiteLookupInfo&amp; hostHeaderSiteInfo, Boolean&amp; lookupRequiredContext) +237<br>&nbsp;&nbsp; Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.EnsureInitialize(HttpRequest request) +646<br>&nbsp;&nbsp; Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.BeginRequestHandler(Object oSender, EventArgs ea) +164<br>&nbsp;&nbsp; System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80<br>&nbsp;&nbsp; System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +171</p> <p>We initially isolated it to a corruption in the URL within the XML for the Web Application properties. But when we looked through the XML, we did not find anything corrupt in the URLs. This was strange!</p> <p>Finally capturing a dump of the process and investigating further, I found that the property that was used in the above callstack was m_SiteDataServers.</p> <p>The value of this property was set to just the servername without the protocol information. i.e. it was set to "wfe1" instead of "https://wfe1" OR "https://wfe2".</p> <p>NOTE: The <a href="https://blogs.msdn.com/b/vijgang/archive/2010/04/26/how-to-configure-a-dedicated-web-front-end-for-crawling-in-sharepoint-2010.aspx">script</a> to configure the dedicated frontend for crawling uses the command "$webApp.SiteDataServers.Add($zoneUrl, $listOfUri);". This command will not accept just the servername, but seems like we have an entry point somewhere to send it through.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2010: User Profiles - Steps to Partition the User Profiles Service Application</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/sharepoint-2010-user-profiles-steps-to-partition-the-user-profiles-service-application</link>
      <pubDate>Mon, 10 May 2010 05:06:58 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2010/05/10/sharepoint-2010-user-profiles-steps-to-partition-the-user-profiles-service-application/</guid>
      <description><![CDATA[Pre-requisite:  These are few steps to be done prior to getting the User Profiles provisioned....]]></description>
      <content:encoded><![CDATA[<p><strong>Pre-requisite:</strong>  <p>These are few steps to be done prior to getting the User Profiles provisioned.  <ul> <li>Understand the new User Profiles architecture in SharePoint 2010. Few good articles are <a title="https://technet.microsoft.com/en-us/library/ee721049(office.14).aspx" href="https://technet.microsoft.com/en-us/library/ee721049(office.14).aspx">https://technet.microsoft.com/en-us/library/ee721049(office.14).aspx</a> and&nbsp; <a href="https://blogs.msdn.com/spses/archive/2010/04/01/sharepoint-2010-provisioning-user-profile-synchronization.aspx">https://blogs.msdn.com/spses/archive/2010/04/01/sharepoint-2010-provisioning-user-profile-synchronization.aspx</a></li></ul> <ul> <li>Before running through the steps in the blog, have the following ready:  <ul> <li>Full functional SharePoint 2010 version  <li>Two web applications to participate as the tenant sites - <a href="https://sharepoint:91">https://sharepoint:91</a> and <a href="https://sharepoint:92">https://sharepoint:92</a>  <li>My DC has 2 Organization Units (OUs) created,  <ul> <li>UsersSet1 - with 2 users - user11 &amp; user12.  <li>UsersSet2 - with 2 users - user21 &amp; user22.</li></ul></li></ul> <ul> <li>The SQL Server for our setup is called mydatabaseserver</li></ul></li></ul> <ul> <li>Note that many of the steps here related to partitioning are not reversible. You might have to delete the object and recreate it, if you need to rollback for any reason.  <li>Do not close the Powershell window as we might be referencing the same objects throughout the script.</li></ul> <p><strong>Steps to partition the User Profiles Service Application: </strong> <ul> <li>Under Central Administration -&gt;Manage Services on Server, start the "User Profile Service".  <li>Run each of these steps at a time as the output of one may have to be used as the input for another step.</li></ul> <p>#######################################################################  <p># Steps to create the subscriptions and assigning the subscriptions to the sites  <p>#######################################################################  <p># Get the list of Sites in SharePoint - verify the above Web application URLs are listed.  <p>Get-SPSite  <p># Get a reference to the first site  <p>$site1 = Get-SPSite | where {$_.url -eq "<a href="https://sharepoint:91">https://sharepoint:91</a>"}  <p>$site1  <p># Get a reference to the second site  <p>$site2 = Get-SPSite | where {$_.url -eq "<a href="https://sharepoint:92">https://sharepoint:92</a>"}  <p>$site2  <p># Creating 2 subscription objects, one for each site.  <p>$sub1 = New-SPSiteSubscription  <p>$sub1  <p>$sub2 = New-SPSiteSubscription  <p>$sub2  <p># Assign the subscription 1 and 2 to respective Sites [When prompted, press Enter to select the default option of "Y"].  <p>Set-SPSite -Identity $site1 -SiteSubscription $sub1  <p>Set-SPSite -Identity $site2 -SiteSubscription $sub2  <p># verify that the subscriptions are created and assigned correctly.  <p>Get-SPSiteSubscription  <p>#######################################################################  <p># Create the User Profile Service Application in Partition Mode.  <p>#######################################################################  <p>$userProfileSyncName = "Partitioned UP Synchronization Service"  <p># Replace mydatabaseserver with the name of your database server  <p>$dbServerName = "mydatabaseserver"  <p># List all SharePoint application pools, chose an existing app pool for use by this User Profile Service Application. You may also chose to  <p># create a new Application pool if required.  <p>Get-SPServiceApplicationPool  <p># I am going with using an existing application pool which shown as 'SharePointAppPool' in the list displayed by the above command  <p>$AppPoolName = "SharePointAppPool"  <p>$AppPool = Get-SPServiceApplicationPool -Identity $AppPoolName  <p># Create the new User Profiles Service Application, the DB names used are 'pProfileDB', 'pSocialDB' &amp; 'pSyncDB'  <p>$userProfileService = New-SPProfileServiceApplication -Name $userProfileSyncName -ApplicationPool $AppPool -ProfileDBServer $dbServerName -ProfileDBName "pProfileDB" -SocialDBServer $dbServerName -SocialDBName "pSocialDB" -ProfileSyncDBServer $dbServerName -ProfileSyncDBName "pSyncDB" -PartitionMode  <p># Create a User Profiles Service Application Proxy  <p>New-SPProfileServiceApplicationProxy -Name "$userProfileSyncName Proxy" -ServiceApplication $userProfileService -DefaultProxyGroup -PartitionMode  <p>#######################################################################  <ul> <li>Now, under Central Administration -&gt;Manage Services on Server, start the "User Profile Synchronization Service". Here you need to select the "Partitioned UP Synchronization Service" under the "Select the User Profile Application" option. Enter the credentials and select OK. This takes a while to start up - the status is shown as 'Starting'. On completion it changes to 'Started'.  <li>Under Central Administration-&gt; Manage Service Applications, click on "Partitioned UP Synchronization Service" to visit the Manage User Profiles page.</li></ul> <ul> <li>Since this User Profile Service Application is Partitioned, the page is slightly different from the regular User Profiles screen.</li></ul> <p><u>Non-Partitioned User Profiles Management Page </u> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0014.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0014.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001[4]" border="0" alt="clip_image001[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0014_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0014_thumb.png" width="300" height="258"></a></p> <p><u>Partitioned User Profiles Management Page </u>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0024.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0024.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0024_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0024_thumb.png" width="303" height="237"></a>  <p>Note: The number of tenants is shown as 0. This means no subscriptions are assigned to this Service Application and that is what we need to do before attempting the Profile Import.  <p>#######################################################################  <p># Assign the 2 Subscriptions to the Partitioned User Profiles Service Application Proxy  <p>#######################################################################  <p>#List all the Application Proxies  <p>Get-SPServiceApplicationProxy  <p>#Now from here pass the name of the "Partitioned" User Profile Service Application Proxy and store it in a variable  <p>$pUPSP = Get-SPServiceApplicationProxy | ? {$_.DisplayName.Contains("Partitioned UP Synchronization Service Proxy")}  <p>#Verify the object is correctly retrieved  <p>$pUPSP  <p>#Now add the two subscriptions ($sub1 &amp; $sub2) created earlier to the User Profile Proxy object  <p>Add-SPSiteSubscriptionProfileConfig -Identity $sub1 -ProfileServiceApplicationProxy $pUPSP  <p>Add-SPSiteSubscriptionProfileConfig -Identity $sub2 -ProfileServiceApplicationProxy $pUPSP  <p>#######################################################################  <ul> <li>Now refreshing the Manage User Profiles page displays the 2 Tenants added to this User Profile Service Application.</li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0034.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0034.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image003[4]" border="0" alt="clip_image003[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0034_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0034_thumb.png" width="308" height="236"></a>  <ul> <li>Now browse to "Configure Synchronization Connections", select "Create New Connection" and configure a Active Directory connection to your DC. We should include OUs - "UsersSet1" and "UsersSet2" in the import.  <li>We still have one more step left before attempting the import, we need to assign the Organization Unit (OU) that these subscriptions are going to need from the Profile store. </li></ul> <p>#######################################################################  <p>#Assign the OUs for each subscription [Select the default value of "Y" when prompted].  <p>#######################################################################  <p>Set-SPSiteSubscriptionProfileConfig -Identity $sub1 -ProfileServiceApplicationProxy $pUPSP -SynchronizationOU "UsersSet1"  <p>Set-SPSiteSubscriptionProfileConfig -Identity $sub2 -ProfileServiceApplicationProxy $pUPSP -SynchronizationOU "UsersSet2"  <p>#######################################################################  <ul> <li>Now in the Manage Profile Service page, click on "Start Profile Synchronization" and select " Start Full Synchronization". Note only OU's that match the Tenant requirements are imported.</li></ul> <ul> <li>This should take a while and then we should be greeted with the following screen (assuming successful completion of the sync).</li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0044.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0044.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004[4]" border="0" alt="clip_image004[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0044_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0044_thumb.png" width="933" height="225"></a>  <ul> <li>Here we see that 4 user profiles have been imported, according to our initial setup, we have 2 users each for each Site. Now we need to verify if the users are correctly assigned and the partitioning is really working. To do that, we need the Tenant Administration site to actually administer this further. Let's go ahead and create them.</li></ul> <p>#######################################################################  <p># Create the Tenant Administration Sites for both the web applications  <p>#######################################################################  <p>$tasite1 = new-spsite -url "<a href="https://sharepoint:91/sites/admin">https://sharepoint:91/sites/admin</a>" -template "tenantadmin#0" -owneralias domain\user -sitesubscription $sub1 -AdministrationSiteType tenantadministration  <p>$tasite2 = new-spsite -url "<a href="https://sharepoint:92/sites/admin">https://sharepoint:92/sites/admin</a>" -template "tenantadmin#0" -owneralias domain\user -sitesubscription $sub2 -AdministrationSiteType tenantadministration  <p>#######################################################################  <ul> <li>If you have more than one User Profile Service Application in your farm, then you will need to go to Central Administration-&gt;Application Management-&gt;Configure Service Application Associations, click on the "Application Proxy Group" associated with your web application and set "Partitioned UP Synchronization Service Proxy" as the default service application.</li> <li>The last step finally is to verify that the user profiles are imported correctly for each subscription. To validate that, browse to each of the Tenant Administration sites - <a href="https://sharepoint:91/sites/admin">https://sharepoint:91/sites/admin</a> &amp; <a href="https://sharepoint:92/sites/admin">https://sharepoint:92/sites/admin</a> and select "Manage User Profile Application" . You should see 2 user profiles under each Tenant administration site. </li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0054.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0054.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image005[4]" border="0" alt="clip_image005[4]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0054_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/abe7519d6c46_9D06/clip_image0054_thumb.png" width="930" height="205"></a>  <ul> <li>Selecting "Manage User Profiles" will allow you to manage the actual user profiles allocated to this specific subscription.</li></ul> <p>This concludes the partitioning steps for User Profiles Service Application.  ]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2010: User Profiles - You receive an error - "An unexpected error has occurred." when you try to browse to the page to Manage a newly created User Profile Service Application</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/sharepoint-2010-user-profiles-you-receive-an-error-an-unexpected-error-has-occurred-when-you-try-to-browse-to-the-page-to-manage-a-newly-created-user-profile-service-application</link>
      <pubDate>Wed, 05 May 2010 04:05:50 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2010/05/05/sharepoint-2010-user-profiles-you-receive-an-error-an-unexpected-error-has-occurred-when-you-try-to-browse-to-the-page-to-manage-a-newly-created-user-profile-service-application/</guid>
      <description><![CDATA[You create a new User Profile Service Application and try browsing to the Manage link for the User...]]></description>
      <content:encoded><![CDATA[<p>You create a new User Profile Service Application and try browsing to the Manage link for the User Profile Service Application, this page might fail with the following error, <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/clip_image001_2.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/clip_image001_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/clip_image001_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/clip_image001_thumb.png" width="470" height="212"></a> <p>If you filter on the "User Profiles" category in the ULS Logs, you should see these errors: <p>UserProfileServiceUserStatisticsWebPart:LoadControl failed, <br>Exception: System.IO.FileLoadException: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.InitializeIlmClient(String ILMMachineName, Int32 FIMWebClientTimeOut) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager..ctor(UserProfileApplicationProxy userProfileApplicationProxy, Guid partitionID) <br>at Microsoft.SharePoint.Portal.WebControls.UserProfileServiceStatisticsWebPartBase.LoadControl(Object sender, EventArgs e)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>UserProfileServiceAudienceStatisticsWebPart:LoadControl failed, <br>Exception: System.IO.FileLoadException: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.InitializeIlmClient(String ILMMachineName, Int32 FIMWebClientTimeOut) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager..ctor(UserProfileApplicationProxy userProfileApplicationProxy, Guid partitionID) <br>at Microsoft.SharePoint.Portal.WebControls.UserProfileServiceStatisticsWebPartBase.LoadControl(Object sender, EventArgs e) <p>UserProfileServiceImportStatisticsWebPart:LoadControl failed, <br>Exception: System.IO.FileLoadException: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.InitializeIlmClient(String ILMMachineName, Int32 FIMWebClientTimeOut) <br>at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager..ctor(UserProfileApplicationProxy userProfileApplicationProxy, Guid partitionID) <br>at Microsoft.SharePoint.Portal.WebControls.UserProfileServiceStatisticsWebPartBase.LoadControl(Object sender, EventArgs e) <p>This is an expected behaviour if the User Profile Synchronization Service is started on the SharePoint server hosting Central Administration. A recycle of IIS services is required to get this working. This is actually mentioned on the page that is displayed when starting the "User Profile Synchronization Services". <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/image_2.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/image_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/Sha.whenyoutrytobrowsetothepagetoManagea_E949/image_thumb.png" width="965" height="80"></a>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2010: User Profiles - Upgrade consideration</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/sharepoint-2010-user-profiles-upgrade-consideration</link>
      <pubDate>Tue, 04 May 2010 21:50:39 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2010/05/04/sharepoint-2010-user-profiles-upgrade-consideration/</guid>
      <description><![CDATA[SharePoint 2010 User Profile Synchronization has undergone a major architectural change. I have...]]></description>
      <content:encoded><![CDATA[<p>SharePoint 2010 User Profile Synchronization has undergone a major architectural change. I have attached few articles below which explain this in more details. Now back to upgrade considerations, one of the major concept is the introduction of the "User Profile Service Application" and "User Profile Synchronization Service".</p> <ul> <li>"User Profile Service Application" is an entity that is consumed by web applications (via proxy) to access User Profiles.  <li>"User Profile Synchronization Service" is the SharePoint service that uses FIM to do the synchronization.  <li>When starting a "User Profile Synchronization Service", we can associate it with only one "User Profile Service Application".  <li>We can have only one "User Profile Synchronization Service" running on a Physical Server in the Farm.</li></ul> <p>So to understand this better, let's consider this scenario:</p> <p>We have a Single Server SharePoint deployment with the following MOSS 2007 configuration,</p> <ul> <li>Two Web Applications for two different set of users - <a href="https://www.webapp1.com">www.webapp1.com</a> and <a href="https://www.webapp2.com">www.webapp2.com</a>  <li><a href="https://www.webapp1.com">www.webapp1.com</a> is associated to SSP1 (Shared Service Provider)  <li><a href="https://www.webapp2.com">www.webapp2.com</a> is associated to SSP2  <li>SSP1 has a Profile Sync connection to LDAP Source Server 1 (for user group 1)  <li>SSP2 has a Profile Sync connection to LDAP Source Server 2 (for user group 2)  <li>This means user group 1 of <a href="https://www.webapp1.com">www.webapp1.com</a> get access to profiles from LDAP Service 1 as they are associated with SSP1.  <li>The same applies to <a href="https://www.webapp2.com">www.webapp2.com</a> gets access to profiles from LDAP Service 2 as they are associated with SSP2.</li></ul> <p>Now how does this change in SharePoint 2010? So to check this, I did an in-place upgrade to SharePoint 2010 which succeeded without errors.</p> <ul> <li>The User Profile component of SSP1 and SSP2 got converted to "User Profile Service Applications" and it's associated proxy as shown below,</li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_2.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb.png" width="1028" height="44"></a> </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_4.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb_1.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb_1.png" width="1028" height="47"></a> </p> <ul> <li>But the "User Profile Synchronization Service" was not started by default.  <li>When we try to start this service, this is the screen that greets us,</li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_6.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb_2.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/SharePoint2010UserProfilesUpgradeconside_BF78/image_thumb_2.png" width="1116" height="170"></a> </p> <p>So this is where you get an option to choose from either of the "Service Application" to be associated with this "lone" synchronization service. What this means is that at this point in time if we proceed to select one of the Service Application (from the screen shot above), then only that User Profile Synchronization will function, the other "User Profile Service Application" cannot be synchronized.</p> <p>The solution to this lies in partitioning the "lone" chosen "User Profile Service Application". How do we do that? Well that's another blog, I am still working on it!</p> <p>Refer:<br><a href="https://technet.microsoft.com/en-us/library/ee721049(office.14).aspx">Configure profile synchronization (SharePoint Server 2010)</a><br><a title="https://blogs.msdn.com/spses/archive/2010/04/01/sharepoint-2010-provisioning-user-profile-synchronization.aspx" href="https://blogs.msdn.com/spses/archive/2010/04/01/sharepoint-2010-provisioning-user-profile-synchronization.aspx">https://blogs.msdn.com/spses/archive/2010/04/01/sharepoint-2010-provisioning-user-profile-synchronization.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>How to configure a Dedicated Web Front End for crawling in SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/how-to-configure-a-dedicated-web-front-end-for-crawling-in-sharepoint-2010</link>
      <pubDate>Mon, 26 Apr 2010 05:35:47 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2010/04/26/how-to-configure-a-dedicated-web-front-end-for-crawling-in-sharepoint-2010/</guid>
      <description><![CDATA[In SharePoint 2007 (MOSS v3) we have an option in the Office Server Search User Interface to...]]></description>
      <content:encoded><![CDATA[<p>In SharePoint 2007 (MOSS v3) we have an option in the Office Server Search User Interface to configure a specific Web Front End as the server to be used for crawling. This functionality is very useful as it allows us to have a dedicated WFE for crawling as that ensures the crawling load is not distributed across the entire farm. Usually the indexer is configured with the Web Application services and is dedicated for crawling and then, this server is removed from the NLB .</p> <p>Screen shot from SharePoint 2007</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/HowtoconfigureaDedicatedWebFrontEndforcr_FE72/image_2.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/HowtoconfigureaDedicatedWebFrontEndforcr_FE72/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/vijgang/WindowsLiveWriter/HowtoconfigureaDedicatedWebFrontEndforcr_FE72/image_thumb.png" original-url="https://blogs.msdn.com/blogfiles/vijgang/WindowsLiveWriter/HowtoconfigureaDedicatedWebFrontEndforcr_FE72/image_thumb.png" width="904" height="116"></a> </p> <p>This option in SharePoint 2010 has been removed from the UI and is part of Powershell functionality. So how do you go about doing this? Here goes,</p> <p>########## Start of Script to Configure a Dedicated Web Frontend in SharePoint 2010&nbsp; ##########</p> <p><em>$listOfUri = new-object System.Collections.Generic.List[System.Uri](1) </em></p> <p><em>$zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default'</em></p> <p><em>$webAppUrl = "Your Default Zone FQDN URL"</em></p> <p><em>$webApp = Get-SPWebApplication -Identity $webAppUrl </em></p> <p><em>$webApp.SiteDataServers.Remove($zoneUrl)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## By default this has no items to remove</em></p> <p><em>$listOfUri.Add("Your Dedicated WFE Server URL"); </em></p> <p><em>$webApp.SiteDataServers.Add($zoneUrl, $listOfUri); </em></p> <p><em>$WebApp.Update() </em></p> <p>########## End of Script to Configure a Dedicated Web Frontend in SharePoint 2010&nbsp; ##########</p> <p>Now you might have a requirement to roll back this change, which means change the setting back to "Use all web front end computers for crawling". The script for doing that is as follows,</p> <p>########## Start of Script to reset Dedicated Web Front end crawling settings to default in SharePoint 2010&nbsp; ##########</p> <p><em>$zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default'</em>  <p><em>$webAppUrl = "</em>Your Default Zone FQDN URL<em>"</em>  <p><em>$webApp = Get-SPWebApplication -Identity $webAppUrl</em>  <p><em>$webApp.SiteDataServers.Remove($zoneUrl);</em>  <p><em>$WebApp.Update()</em>  <p>########## End of Script to reset Dedicated Web Front end crawling settings to default in SharePoint 2010&nbsp; ##########</p>]]></content:encoded>
    </item>
    <item>
      <title>MOSS 2007: Creation of Content Deployment Path on Windows 2008 fails with Access Denied</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/moss-2007-creation-of-content-deployment-path-on-windows-2008-fails-with-access-denied</link>
      <pubDate>Thu, 11 Mar 2010 23:44:57 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2010/03/11/moss-2007-creation-of-content-deployment-path-on-windows-2008-fails-with-access-denied/</guid>
      <description><![CDATA[Faced an odd problem today! I had installed Microsoft Office SharePoint Server 2007 (SP2 + Oct CU)...]]></description>
      <content:encoded><![CDATA[<p>Faced an odd problem today! <p>I had installed Microsoft Office SharePoint Server 2007 (SP2 + Oct CU) on a Windows 2008 Server with IIS 7. I then tried to create a Content Deployment Path on the server. <p>1. Browse to <a href="https://centraladmin-url/_admin/DeploymentPath.aspx">https://centraladmin-url/_admin/DeploymentPath.aspx</a> <p>2. Select the "New Path" option. <p>3. Type the Name and then select the "Source Web Application".  <p>&nbsp; <p>This immediately prompts for a password and none of the accounts work (including local administrator). You end up getting a "Access Denied". <p>ULS logs show these two errors, <p>Access Denied for /_admin/DeploymentPath.aspx. StackTrace: Microsoft.SharePoint.Utilities.SPUtility:Void HandleAccessDenied(System.Exception), Microsoft.SharePoint.ApplicationRuntime.SPRequestModule:Void HandleAccessDenied(System.Exception), Microsoft.SharePoint.ApplicationRuntime.BaseApplication:Void Application_Error(System.Web.HttpApplication), Microsoft.SharePoint.ApplicationRuntime.SPRequestModule:Void ErrorAppHandler(System.Object, System.EventArgs), System.EventHandler:Void Invoke(System.Object, System.EventArgs), System.Web.HttpApplication:Void RaiseOnError(), System.Web.HttpApplication+ApplicationStepManager:Void ResumeSteps(System.Exception), System.Web.HttpApplication:System.IAsyncResult System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object), System.Web.HttpRuntime:Void ProcessRequestInternal(System.Web.HttpWorkerRequest), System.Web.HttpRuntime:Void ProcessRequestNoDemand(System.Web.HttpWorkerRequest), System.Web.Hosting.ISAPIRuntime:Int32 ProcessRequest(IntPtr, Int32), <p>&nbsp; <p>Application error when access /_admin/DeploymentPath.aspx, Error=Access is denied. <p>at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)<br>at System.DirectoryServices.DirectoryEntry.Bind()<br>at System.DirectoryServices.DirectoryEntry.get_IsContainer()<br>at System.DirectoryServices.DirectoryEntries.ChildEnumerator..ctor(DirectoryEntry container)<br>at System.DirectoryServices.DirectoryEntries.GetEnumerator()<br>at Microsoft.SharePoint.Administration.SPIisApplicationPoolCollection.&lt;GetEnumerator&gt;d__0.MoveNext()<br>at Microsoft.SharePoint.Administration.SPGlobalAdmin.get_ApplicationPools()<br>at Microsoft.SharePoint.Publishing.Internal.CodeBehind.DeployPathPage.SetAppPoolRadioButtonLabel()<br>at Microsoft.SharePoint.Publishing.Internal.CodeBehind.DeployPathPage.OnSourceVirtualServerDropDownChanged(Object sender, EventArgs e)<br>at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)<br>at System.Web.UI.Page.RaiseChangedEvents()<br>at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</p> <p>&nbsp; <p>Finally managed to find the root cause to be with the permissions of the administrator account. It did not having permissions to access the IIS metabase. <p>To resolve this, <p>Start the command prompt<br>Change to C:\Windows\Microsoft.NET\Framework64\v2.0.50727 (for x64)<br>Run aspnet_regiis.exe -ga domainname\sharepointserviceaccountname ]]></content:encoded>
    </item>
    <item>
      <title>Incremental Content Deployment completes with a Warning message – User or group with ID “X” cannot be resolved.</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/incremental-content-deployment-completes-with-a-warning-message-user-or-group-with-id-x-cannot-be-resolved</link>
      <pubDate>Mon, 30 Nov 2009 02:54:04 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2009/11/30/incremental-content-deployment-completes-with-a-warning-message-user-or-group-with-id-x-cannot-be-resolved/</guid>
      <description><![CDATA[While running content deployment import job on destination farm, you get the following warning...]]></description>
      <content:encoded><![CDATA[<p>While running content deployment import job on destination farm, you get the following warning message and the import job completes successfully. </p>  <p>   <br />This message would appear when trying to import a View or a Form template document.</p>  <p>=============================================</p>  <p>Progress: Importing File Documents/Forms/template.doc.    <br />Warning: User or group 5 cannot be resolved.</p>  <p>=============================================    <br /></p>  <p>This warning message can be ignored. What this really means is that the 'Modified By' property of the imported item (usually a View or Form on which the error was thrown) is changed to the account of the user importing the content. </p>  <p>This means that if a specific template document say ‘/Forms/template.doc’ is modified by a user 'User A' in the source and exported, then while importing in destination farm, the running import job will set the ‘Modified By’ property of the imported item with the account of the user that is running the import job on the destination farm. Note though that the documents created using this template are not affected.</p>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8eba6dbd-3371-4bda-8152-31834c2ae180" class="wlWriterEditableSmartContent">Technorati Tags: <a href="https://technorati.com/tags/sharepoint+content+deployment+import" rel="tag">sharepoint content deployment import</a></div>]]></content:encoded>
    </item>
    <item>
      <title>Incremental Content Deployment Errors out with "Save Conflict" when deploying User information without Security information</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/incremental-content-deployment-errors-out-with-save-conflict-when-deploying-user-information-without-security-information</link>
      <pubDate>Mon, 30 Nov 2009 02:47:10 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2009/11/30/incremental-content-deployment-errors-out-with-save-conflict-when-deploying-user-information-without-security-information/</guid>
      <description><![CDATA[Technorati Tags: sharepoint content deployment import  While running content deployment import job...]]></description>
      <content:encoded><![CDATA[<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:48f64b9d-4268-40ea-9ff4-9c29e2b072c4" class="wlWriterEditableSmartContent">Technorati Tags: <a href="https://technorati.com/tags/sharepoint+content+deployment+import" rel="tag">sharepoint content deployment import</a></div>  <p>While running content deployment import job on destination farm, you get the following error message and the import job fails.    <br />This message would appear when trying to import a User.</p>  <p>====================================================================================</p>  <p>Your changes conflict with those made concurrently by another user. If you want your changes to be applied, click Back in your Web browser, refresh the page, and resubmit your changes.</p>  <p><font size="1">[10/15/2009 1:01:22 AM]: Progress: Importing User Domain\UserName.      <br /></font><font size="1">[10/15/2009 1:01:23 AM]: FatalError: Save Conflict      <br /></font><font size="1">Your changes conflict with those made concurrently by another user. If you want your changes to be applied, click Back in your Web browser, refresh the page, and resubmit your changes.</font></p>  <p><font size="1">&#160;&#160; at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32&amp; plID, String&amp; pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object&amp; pvarAttachmentNames, Object&amp; pvarAttachmentContents, Object&amp; pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32&amp; ulID, Object&amp; objAttachmentNames, Object&amp; objAttachmentContents, Boolean suppressAfterEvents)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.SPListItem.MigrationAddOrUpdate(Boolean bAddNew, Boolean bIsPublish, Guid newGuidOnAdd, Boolean bNoVersion, Boolean suppressAfterEvents)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.ListItemSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType, Boolean isChildObject)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject, DeploymentObject envelope)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader)      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()      <br /></font><font size="1">&#160;&#160; at Microsoft.SharePoint.Deployment.SPImport.Run()</font></p>  <p><font size="1">[10/15/2009 1:01:26 AM]: Progress: Import Completed.      <br /></font><font size="1">[10/15/2009 1:01:26 AM]: Finish Time: 10/15/2009 1:01:26 AM.      <br /></font><font size="1">[10/15/2009 1:01:26 AM]: Completed with 0 warnings.      <br /></font><font size="1">[10/15/2009 1:01:26 AM]: Completed with 1 errors.</font></p>  <p>====================================================================================</p>  <p>This is an expected error message if a user was created on the source farm and then post a deployment, the user was removed from the ‘All Users’ list on the source. Now when we try to import the user deletion activity to the destination farm, we get this error message.</p>  <p>Installing the June 09 CU ensures that the error message changes to non-Fatal and the content deployment import job succeeds.</p>]]></content:encoded>
    </item>
    <item>
      <title>Changes to the custom dictionary.txt file are not taking effect</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/changes-to-the-custom-dictionary-txt-file-are-not-taking-effect</link>
      <pubDate>Thu, 23 Jul 2009 08:37:01 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2009/07/23/changes-to-the-custom-dictionary-txt-file-are-not-taking-effect/</guid>
      <description><![CDATA[You might face a peculiar problem when you implement the custom dictionary functionality in...]]></description>
      <content:encoded><![CDATA[<p>You might face a peculiar problem when you implement the custom dictionary functionality in SharePoint. This functionality is documented under &quot;Plan dictionary customizations&quot; section of article <a href="https://technet.microsoft.com/en-us/library/cc263367.aspx">https://technet.microsoft.com/en-us/library/cc263367.aspx</a></p>  <p>All the words in the file uploaded the first time are recognized by the Spell checker. But if you make any modifications to the ‘custom dictionary.txt’ file and upload it again, the spell checker might not pick it up.</p>  <p>To workaround this issue, you may clear the system temp location - %systemroot%\temp location and try the spell checker again. You may also search for this custom dictionary file saved in the temp location and delete that single file (name is in the format GUID.txt)</p>]]></content:encoded>
    </item>
    <item>
      <title>Change the application pool associated with a web application in sharepoint.</title>
      <link>https://docs.microsoft.com/archive/blogs/vijgang/change-the-application-pool-associated-with-a-web-application-in-sharepoint</link>
      <pubDate>Tue, 21 Jul 2009 03:29:15 GMT</pubDate>
      <dc:creator><![CDATA[Vijay - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vijgang/2009/07/21/change-the-application-pool-associated-with-a-web-application-in-sharepoint/</guid>
      <description><![CDATA[Recently I researched on case where the SharePoint Service Pack 2 upgrade failed with the following...]]></description>
      <content:encoded><![CDATA[<p>Recently I researched on case where the SharePoint Service Pack 2 upgrade failed with the following exception.</p>  <p>[SPIisWebSiteWssSequence] [ERROR] [7/18/2009 11:13:56 PM]: Action 3.1.3.0 of Microsoft.SharePoint.Upgrade.SPIisWebSiteWssSequence failed.   <br />[SPIisWebSiteWssSequence] [ERROR] [7/18/2009 11:13:56 PM]: The system cannot find the path specified.    <br />[SPIisWebSiteWssSequence] [ERROR] [7/18/2009 11:13:56 PM]:&#160;&#160;&#160; <strong>at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)     <br /></strong>&#160;&#160; at System.DirectoryServices.DirectoryEntry.Bind()    <br />&#160;&#160; at System.DirectoryServices.DirectoryEntry.get_AdsObject()    <br />&#160;&#160; at System.DirectoryServices.PropertyValueCollection.PopulateList()    <br />&#160;&#160; at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)    <br />&#160;&#160; at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)    <br />&#160;&#160; <strong>at Microsoft.SharePoint.Administration.SPIisApplicationPool.get_PeriodicRestartMemory()</strong>    <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPProvisioningAssistant.EnableMemoryBasedAppPoolRecycling(SPIisApplicationPool local)    <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPProvisioningAssistant.EnableMemoryBasedAppPoolRecycling(String applicationPoolId)    <br />&#160;&#160; at Microsoft.SharePoint.Upgrade.EnableMemoryBasedAppPoolRecycling.Upgrade()    <br />&#160;&#160; at Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade()</p>  <p>Looking at the call stack it was clear that SharePoint was trying to query the “PeriodicRestartMemory” setting of an application pool and that action failed with “The system cannot find the path specified”.</p>  <p>So the first step we did was check if any of the Application Pools used by SharePoint Web Applications were deleted in the recent past and for sure we got confirmation that there were some changes made. Few application pools were deleted manually through IIS Manager. The related Web Applications were then associated with a different Application Pool through IIS. </p>  <p>Now of course doing this does not change the association in SharePoint configuration. SharePoint does not provide a UI option to modify the Application Pool attached to a Web Application, you can use Object Model code to do it though. </p>  <p>So the solution here is to either recreate those Application Pools that were missing OR to update SharePoint configuration with the new association as per IIS setting.</p>  <p>Here is how you can do it.</p>  <p><strong><u>Option 1:</u></strong></p>  <p>Delete and recreate the web application using SharePoint. This will surely clear the orphan application pool entry.</p>  <p><strong><u>Option 2:</u></strong></p>  <p>1. Stop the “Windows SharePoint Services Web Application” service on the WFE. This step will remove all the application pools and web applications on that WFE.</p>  <p>2. Now restart the ‘Windows SharePoint Services Web Application’ service. This step will now recreate all the Web Applications and Applications Pools (including the missing ones) in IIS. </p>  <p>Please ensure you have a backup of the IIS metabase and the virtual directory folders as any customization here may be lost.</p>  <p><strong><u>Options 3:</u></strong></p>  <p>Finally we can use the object model to update the Application Pool association for every Web Application that points to a specific ‘deleted’ application pool. In an attempt to achieve this requirement, I wrote the below powershell script.</p>  <p>##############################################################################   <br />## This script searches for all Web Applications using a specific application pool 'Old Application Pool' and updates it's property in SharePoint configuration to use a 'New Application Pool'    <br />## USAGE:    <br />## REQUIREMENT: Ensure the new application pool to be used is already registered in SharePoint. This happens when you create a new Web Application with a new Application pool.    <br />## SYNTAX:&#160;&#160;&#160;&#160;&#160; ChangeApplicationPool &lt;old application pool name&gt; &lt;new application pool name&gt;&quot;    <br />## NOTE:&#160;&#160;&#160;&#160;&#160;&#160;&#160; Application pool name is case sensitive.    <br />##############################################################################</p>  <p># Define 2 parameters for this script   <br />param([string] $oldAPName, [string] $newAPName) </p>  <p># Check if both params are passed, else show Syntax.   <br />if ($newAPName -eq &quot;&quot;)    <br />{    <br />&#160;&#160; &quot;Syntax: ChangeApplicationPool &lt;old application pool name&gt; &lt;new application pool name&gt;&quot;    <br />&#160;&#160; exit;    <br />} </p>  <p>[System.Reflection.Assembly]::LoadWithPartialName(&quot;Microsoft.SharePoint&quot;)    <br />[System.Reflection.Assembly]::LoadWithPartialName(&quot;Microsoft.SharePoint.Administration&quot;) </p>  <p>$WebService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService </p>  <p>## Get reference for the new application pool within the list of SharePoint objects   <br />[Microsoft.SharePoint.Administration.SPApplicationPoolCollection] $appPools = $webService.ApplicationPools;    <br />$newAppPool = $NULL;    <br />foreach ($appPool in $appPools)    <br />{    <br />&#160;&#160;&#160; if ($appPool.Name -eq $newAPName)    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Microsoft.SharePoint.Administration.SPApplicationPool]$newAppPool = $appPool;    <br />&#160;&#160;&#160; }    <br />} </p>  <p>## If new application pool is not found, then give error and exit   <br />if($newAppPool -eq $NULL)    <br />{    <br />&#160;&#160;&#160; &quot;ERROR: The New application pool to be assigned was not found within SharePoint!&quot;    <br />&#160;&#160;&#160; &quot;REQUIREMENT: Ensure the new application pool to be used is already registered in SharePoint. This happens when you create a new Web Application with a new Application pool.&quot;    <br />&#160;&#160;&#160; exit;    <br />} </p>  <p>## Now loop through all Web Applications to find a match of the old Application pool and update it with New App pool.   <br />[Microsoft.SharePoint.Administration.SPWebApplicationCollection] $webApps = $webService.WebApplications </p>  <p>&quot;Searching through all Web Applications for Old Application pool - &quot; + $oldAPName + &quot; and changing it to - &quot; + $newAPName   <br />$count=0;    <br />foreach ($webApp in $webApps)    <br />{    <br />&#160;&#160;&#160; $webApp.DisplayName + &quot; uses application pool &quot; + $webApp.ApplicationPool.Name    <br />&#160;&#160;&#160; if($webApp.ApplicationPool.Name -eq $oldAPName)    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $webApp.ApplicationPool = $newAppPool;&#160;&#160; ## Changed to new Application pool reference.    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $webApp.Update();    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;............&quot; + $webApp.DisplayName + &quot; now uses the new application pool &quot; + $webApp.ApplicationPool.Name    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $count = $count + 1;    <br />&#160;&#160;&#160; }    <br />}    <br />&quot;Found and replaced &quot; + $count + &quot; web application(s)&quot; </p>  <p>if($count -eq 0)   <br />{    <br />&#160;&#160; &quot;Syntax: ChangeApplicationPool &lt;old application pool name&gt; &lt;new application pool name&gt;&quot;    <br />&#160;&#160; &quot;Ensure the application pool name is an exact match&quot;    <br />} </p>  <p>########################################################################################################################</p>  <p>Disclaimer: The above code is provided &quot;As Is&quot;. This is just a sample code and is not production ready.</p>]]></content:encoded>
    </item>
  </channel>
</rss>