How SharePoint farm locates its configuration database

Did you ever wonder how SharePoint farm locates its configuration database. It’s not in a web.config or in any other configuration files. It’s actually a lot simpler than it probably should have been. SharePoint actually stores the connection to the configuration database in the registry (see dsn key). 

SharePoint 2007: HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Secure\ConfigDB

SharePoint 2010: HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\ConfigDB

SharePoint 2013: HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0\Secure\ConfigDB (this one I have not actually checked, but I am betting it’s still there)

Scary, isn’t it?

Duplicate entries in your Office 365 address book

If you’re seeing duplicate entries in your (Office 365) Outlook address book, and you do not see any those duplicates in Office 365 Portal, then try the following:

  1. Download and install the latest copy of the Microsoft Online Service Module for PowerShell from http://onlinehelp.microsoft.com/Office365-enterprises/ff652560.aspx
  2. Start a PowerShell session with Office 365 by running the following 5 commands (you will be prompted for your Office 365 credentials as these commands run):
  3. Import-Module MSOnline
    $O365Cred = Get-Credential
    $O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri
    https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection
    Import-PSSession $O365Session
    Connect-MsolService –Credential $O365Cred

  4. Run the following command to check if you have anything in your Office 365 Recycle Bin:
    Get-MsolUser –ReturnDeletedUsers
  5. If the command above returns any Recycle Bin items, then run the following command to remove all items from Recycle Bin:
    Get-MsolUser –ReturnDeletedUsers | foreach { Remove-MsolUser -ObjectId $_.ObjectId -RemoveFromRecycleBin -Force }
  6. Run the command from step 4 again to make sure that your Office 365 Recycle Bin is empty

SharePoint 2013 Prerequisites Install Error...

While installing SharePoint 2013 prerequisites on Windows Server 2012 and SQL Server 2012, I have received the error "There was an error installing the prerequisites..." After checking out the logs (under %TEMP%\prerequisiteinstaller.<date>.<time>.log), you quickly learn that prerequisite install failed because of Microsoft SQL Server 2008 R2 SP1 Native Client. To bypass this problem, you can manually download Microsoft SQL Server 2008 R2 SP1 Native Client from http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi and install it. After you manually download Microsoft SQL Server 2008 R2 SP1 Native Client, go ahead and restart SharePoint 2013 prerequisite installer. Now SharePoint 2013 prerequisites should install successfully. J

Change Windows 8 Product Key After Install

After I've installed Windows 8 RTM, I tried to activate it as good folks at Microsoft are telling you too. When I clicked on Activate button, Windows activation failed, which of course made sense because I have not entered a product key yet. But, for some reason, there was no place to enter a product key under System properties. Or, at least I did not see it. Luckily, the good old Command Prompt and slmgr.vbs tools came to rescue. Just follow these steps to add/change product key using Command Prompt and slmgr.vbs:

  • Launch Command Prompt as an Administrator.
  • At the command prompt, type in "slmgr.vbs -ipk <insert your product key here>" and click Enter
  • To activate windows, type in "slmgr.vbs -ato" and click Enter.

That's all J

Fixing “TF400508: The current process settings are either missing or not valid…” error

We have recently upgraded our TFS 2010 server to TFS 11 RC. The upgrade process was smooth and painless. But (there is always a "but"), when I tried to access new TFS Web Access (which is awesome, by the way), I get "TF400508: The current process settings are either missing or not valid…" error. This error is only happening with old "upgraded" projects and we do not see this error if I create a new project in TFS 11. So, it looks like the problem lies within the older template. To resolve the issue, I had to use updateProject file from Microsoft to update an Agile, Scrum or CMMI team project from Team Foundation Server 2010 to Team Foundation Server 11.

To run the updateProject batch file:

  • Launch Visual Studio 12 command prompt
  • Run updateProject batch file as follows:

    updateProject CollectionURL ProjectName TemplateName

For detailed instruction see http://msdn.microsoft.com/en-us/library/ff432837(VS.110).aspx

A workaround for Windows Store app download issue on Windows 8

Every time I try to purchase or download something from the Windows Store I get the following error: "Your purchase couldn't be completed. Something happened and your purchase can't be completed." This error does not really tell us why it failed, but that things have failed. Pretty useless. Don't you hate such errors. L

Anyway, I searched online for a solution to this problem, but none of the suggested solutions helped me resolve the issue. Then I remembered when this problem started happening. I have started experiencing this problem after I have associated my Live ID with my Windows 8 installation and started logging to my laptop in using my Live ID, instead of a Windows use account. So, I thought it is worth a shot to reverse that change. After I have switched back to Local Account, the problem disappeared. I am now able to download apps from Windows Store without any issues. To me, this seems like a bug in Windows 8 Release Preview. So, until Microsoft fixes this bug, I am going to stick with Local Accounts. ;)

Oh yes, almost forgot. To switch to Local Account:

  • Go to PC Settings
  • Select Users
  • Click Switch to Local Account button. That's all.

Things to Know Before Upgrading to SharePoint 2010

Recently, I have been getting a lot of questions about what are the things we should consider before upgrading to SharePoint 2010. Here is my list:

  • Ensure your environment is fully functioning before you perform an upgrade. No need to carry over any old issues into your new SharePoint 2010 environment
  • Make sure you meet hardware requirements: 64-bit hardware, 4 cores CPU or better, 8Gb of RAM or better, enough disk storage, et cetera.
  • Make sure you meet software requirements Windows Server 2008 SP2 or better, SQL Server 2005 SP3 or better, SharePoint prerequisites installed, member of Active Directory domain, and so on. Everything must be 64 bit.
  • Plan browser support (IE6 is not supported) and Office client upgrade
  • Get all your SharePoint servers to Service Pack 2 or later
  • Run Pre-Upgrade check to identify potential issues that will prevent us from successfully upgrading to SharePoint 2010. Review the report. Fix the errors. Re-run pre-upgrade check utility. Repeat, if needed.
  • Identify all customizations such as 3rd party webparts or look-n-feel changes. Make sure those will work properly in SharePoint 2010
  • Backup all SharePoint databases. Seriously. Backup all SharePoint databases.
  • Choose upgrade approach: in-place approach or database attach upgrade. Or hybrid approach.
  • Test the upgrade process. Before you perform an upgrade in production environment, test the upgrade process and address any issues you found during testing
  • UPGRADE all your SharePoint servers to SharePoint 2010 (finally)
  • Evaluate the upgrade. Review logs, check update status troubleshoot issues and errors.
  • Use Visual Upgrade to convert site collections to the SharePoint 2010 product look
  • Completing the upgrade: configure service applications, update database permissions, configure authentication, validate the upgrade, etc.
  • Enjoy the SharePoint 2010 awesomeness.

To learn more about how to build a sound SharePoint environment, check out our Upcoming Courses

An unhandled exception occurred in the Silverlight Application in SharePoint 2010

If you get an error "An unhandled exception occurred in the Silverlight Application in SharePoint 2010" when you try to create a document library, list, site or anything in SharePoint 2010 (using new fancy Silverlight control), then it could be that security validation has been disabled Webpart Security Validation under Web Application General Settings in SharePoint Central Administration. Apparently, Silverlight application is unable to connect to the WCF endpoint configured by the product for enabling Client Object Model, if Security validation is set to Off. Enable it, and you should be fine…

TF249063: The following Web service is not available…

If you get the following error "TF249063: The following Web service is not available: http://SERVER:17012/_vti_bin/TeamFoundationIntegrationService.asmx. This Web service is used for the Team Foundation Server Extensions for SharePoint Products. The underlying error is: The remote server returned an error: (404) Not Found. Verify that the following URL points to a valid SharePoint Web application and that the application is available: http:// SERVER:17012. If the URL is correct and the Web application is operating normally, verify that a firewall is not blocking access to the Web application.", when you try to create new projects in TFS 2010 or simply when you browse to SharePoint Extensions tab in TFS Administration Console, then most likely its caused by the fact that Team Foundation Server Extensions for SharePoint Products (aka TFS 2010 Solutions in SharePoint 2010 or 2007) were not installed properly. To resolve this issue you need to add those solutions manually to the solutions store and then deploy them:

  • Open Command Prompt
  • Change your directory to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\\bin\ (for SharePoint 2010) and C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\\bin\ (for SharePoint 2007)
  • Add TFS 2010 solutions using stsadm.exe command as follows:
    stsadm -o addsolution -filename "C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Templates\Microsoft.TeamFoundation.SharePoint.wsp"
    stsadm -o addsolution -filename "C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Templates\ TswaWebPartCollection.wsp"
    stsadm -o addsolution -filename "C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Templates\Microsoft.TeamFoundation.SharePoint.Dashboards.wsp"
  • Then deploy solutions using either SharePoint Central Administration site or stsadm.exe command as follows:
    stsadm -o deploysolution -name Microsoft.TeamFoundation.SharePoint.wsp -local –force
    stsadm -o deploysolution -name TswaWebPartCollection.wsp -local –force
    stsadm -o deploysolution -name Microsoft.TeamFoundation.SharePoint.Dashboards.wsp –url "YOUR WEB APP URL" –force
  • Go back to TFS Administration Console and Grant Access to your SharePoint farm
  • Under SharePoint Web Applications tab, add SharePoint web application to be used for TFS-related SharePoint sites
  • Under Team Project Collections, make sure that all your existing Project Collections are tied to your SharePoint instance.

That is all J

Load control template file /_controltemplates/TaxonomyPicker.ascx failed

If you get "Load control template file /_controltemplates/TaxonomyPicker.ascx failed: Could not load type 'Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker' from assembly…" error in your event logs on SharePoint 2010 server, then it's most likely caused by "corrupted" code in TaxonomyPicker.ascx file. To fix the problem:

  • Go to <drive>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES
  • Backup TaxonomyPicker.ascx before making any changes to it, then open TaxonomyPicker.ascx file to edit
  • Find the following line: <%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker&#44;Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
  • Replace '&#44;' with ',', so the line looks like this
    <%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker,Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    instead of
    <%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker,Microsoft.SharePoint.Portal,Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>