SharePoint 2013 On Prem and Online Edition and Feature Comparison (updated May 7th 2014)

Microsoft provides SharePoint Deployment Planning Services (SDPS) that allow its customers to use their Software Assurance Benefits to cover the costs of engaging with qualified providers for SharePoint deployment and upgrade planning services. You can read more about SDPS here.

As someone who delivers these SDPS engagements, more often than not I have had the need to take the customers through the SharePoint features available as part of various on premise and online plans. While a comprehensive listing of these features is available on TechNet here, it is hard to filter this listing by the edition or plan type thus making it difficult to help them understand the features missing or available between different editions. Without duplicating much effort, I have created a quick excel file and uploaded it here (Updated: May 7th 2014) for your convenience if you too would like to view a filterable feature comparison within the different editions and online plans of SharePoint 2013.

Hope you find it useful

Posted in SharePoint, SharePoint 2013, SharePoint 2013, Tools | Tagged , , , , , , , | 2 Comments

Build SSRS 2008 R2 and SSRS 2012 reports using Visual Studio 2012

The Microsoft SQL Server product team finally released the long awaited SQL Server Data tools – BI templates for Visual Studio 2012. This release installs the SQL Server Business Intelligence projects for Analysis Services, Integration Services, and Reporting Services. Among other things, the release also enables you to create and edit SQL Server 2008 R2 or SQL Server 2012 SSRS reports. You can download and install the tools from here:

Installing the tools however had the adverse effect of causing the data projects in our Visual Studio solutions to fail from working. Here’s what you will need to do to resolve the issue if your database projects are failing to load as well:

  1. Download and install the SSDT December 2012 Update from here:
  2. Download and install the Data-Tier Application framework from here:
    If you are on an x64 machine, make sure you install the x86 updates (first) as
    well the x64 updates listed in this URL.

Your database projects should work fine after installing the above updates. One last thing worth mentioning is that I currently am on Visual Studio 2012 Update 1 and also that the December 2012 update is the latest one available at this time.

Posted in SQL Server, Visual Studio 2012 | Tagged , , , | 2 Comments

Install the Windows Phone 8.0 Emulator without installing Visual Studio 2012 (or how to test local SharePoint sites on a Windows Phone 8.0 device)

I recently wrote this post on launching the Windows Phone 8.0 emulator without launching Visual Studio 2012. One of the reasons to be able to use the emulator without the need for Visual Studio could be when you only want to view/ demo your sites or applications on the emulator without having the need to develop and deploy them using Visual Studio. In my case, for example, I wanted to do demo the BI capabilities of SharePoint on a mobile device. You may want to use the emulator to just test on a Windows Phone 8.0 device your SharePoint sites hosted on a virtual machine. So here’s how you can do it:

  1. Configure the Hyper-V feature: The Windows Phone 8.0 emulator is essentially a virtual hard drive (VHD) that is launched using Hyper-V. Ensure that you have the Hyper-V feature installed on your Windows 8 machine. You can do this by browsing to Add  or remove programs –> Turn Windows features on or off –> Selecting Hyper-V from the pop-up screen:
    Hyper-V Feature
  2. Download the installer: Next, we’ll need to do is to download the Windows Phone 8.0 SDK from here: Clicking on the Download button next to “WPexpress_full.exe” file will cause your browser to prompt you to Run or Save the file. Since we are doing a custom installation, we will want to save the executable to a local drive.
  3. Open it using the command prompt: Once you have download the file, you will need to open the file location in the command prompt. You can do this by either:
    1. Opening the command prompt and changing the directory to the download directory OR
    2. Shift-Right clicking the download folder and selecting the “Open with command prompt” option:
  4. Download all the installation files: Next, we are going to download  the installation files onto the local hard drive. This will allow us to only install the components necessary for the emulator to run. To do this, type “WPexpress_full.exe /layout <DOWNLOADLOCATION>” in the command prompt. The <DOWNLOADLOCATION> in the above command is the location where you would like to download the installation files to. This will launch the Visual Studio 2012 installation Wizard in the download mode. Make sure you have about 1.5 GB free in the drive where you intend to download the installation files:
  5. You should see the following folder structure once the files have downloaded – <DOWNLOADLOCATION>\packages\MobileTools:
  6. We are now ready to run the installation media for the emulator. Browse to the <DOWNLOADLOCATION>\packages\MobileTools\XdeHost folder within the downloaded files and run the MobileTools_XDEHost.msi file. This will install the XDE.exe tool that will launch the emulator. Once the setup is complete, you can verify that the relevant files have been created by browsing to the following path: “C:\Program Files (x86)\Microsoft XDE\8.0” (assuming that you have installed the files in the C: drive)
  7. Next, we need to install the virtual hard  drive for the Windows Phone 8.0 that the emulator will launch. To do so, browse to the “<DOWNLOADLOCATION>\packages\MobileTools\WpFolder” folder and run the “MobileTools_WPImages_enu.msi” Windows Installer package. This will install various VHD files for the Windows Phone. Once the setup is complete, you can verify that the relevant files have been created by browsing to the following path: “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images” (assuming that you have installed the files in the C: drive).

That’s it. You are now ready to launch the Windows Phone 8.0 emulator without having to run or even install Visual Studio 2012. To view instructions on how to launch the emulator, please refer my earlier bog post at:

Posted in How To, SharePoint, Visual Studio 2012, Windows Phone 8, Windows Phone SDK | Tagged , , , , | 2 Comments

Launch Windows Phone 8 Emulator without launching Visual Studio 2012

One of a recent pre-sales engagements that I was working on required me to demo the BI capabilities of SharePoint 2010 on a Windows 8 phone device. Considering that it needed to be projected for the benefit of the audience and the fact that the demo SharePoint environment was not exposed to the internet and therefore could not be accessed from a mobile device, I decided to perform the demo using a Windows Phone 8.0 Emulator.

The Windows Phone 8.0 emulator is essentially a virtual hard drive (VHD) that is launched using Hyper-V (cool :)). So here’s what you need to do to be able to launch the Windows Phone 8 emulator without having to launching Visual Studio:

  1. Ensure that you have downloaded and installed the latest version of Windows Phone 8.0 SDK from here (at the time of writing the blog):
  2. Ensure that you have the Hyper-V feature installed on your Windows 8 machine. You can do this by browsing to Add  or remove programs –> Turn Windows features on or off –> Selecting Hyper-V from the pop-up screen:
    Hyper-V Feature
  3. Open the command prompt in elevated mode and change the current directory in the command prompt to: “C:\Program Files (x86)\Microsoft XDE\8.0” (assuming you have installed the SDK to the C:\ drive). Alternately, you can browse to this folder in Windows Explorer, press the “Shift” key, right click the folder and then select “Open command window here” to directly open the folder in command prompt:
  4. If you are launching the emulator for the first time, you will need to provide the path to the virtual hard drive to be used by it. The Windows Phone SDK installer installs the windows phone 8.0 VHDs in the “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images”  folder(again, assuming you have installed the SDK to the C:\ drive). We are going to launch the “Flash.vhd” hard drive from this folder. To do so, we will run the following command from the command prompt opened in the above step:
    xde -vhd “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images\Flash.vhd”:
  5. When the emulator launches for the first time, it tries to configure the Hyper-V network settings (adds and configures new network adapters to your machine so the phone is connected to your network and consequently the internet). If you did not launch the command prompt in step 3 above in elevated mode, you will receive the prompt shown in the image below. This is absolutely normal. If this happens, click the “Retry” button and XDE.exe will automatically launch with elevated privileges. Remember that the emulator only needs to run in elevated mode the first time. So if you shut down the phone and start it again, you will not need to launch it in elevated mode:
    XDE Hyper-V error
  6. This will now launch the windows phone 8 emulator for you:
    Windows Phone 8.0 Emulator
  7. After the first time of launching it, XDE will remember the path to the vhd file. So if you shut down the phone and would like to launch it again, you will only need to double click the XDE.exe file to launch it again. I’d recommend creating a shortcut for it on the desktop or another convenient location.

The following link provides some nice troubleshooting tips in case you face issues running the emulator:

I will also shortly blog about installing the Windows Phone 8.0 emulator without having to install Visual Studio 2012. Hope you have fun with you new phone… 🙂

Posted in How To, Visual Studio 2012, Windows Phone 8 | Tagged , , , , | 27 Comments

SharePoint 2013 Installation – IISExt.vbs

The pre-requisites installation in one of my recent SharePoint 2013 farm installations was failing at the step where it configures the Application Server and Web Server role for the Server:

Further, the error logs had the following entry:
– Request for install time of Application Server Role, Web Server (IIS) Role
– Install process returned (0)
– [In HRESULT format] (0)
– “C:\Windows\system32\cscript.exe” “C:\Windows\system32\iisext.vbs” /enext “ASP.NET v4.0.30319”

– Request for install time of Application Server Role, Web Server (IIS) Role – Install process returned (1)
– [In HRESULT format] (-2147024895)
– Error when enabling ASP.NET v4.0.30319 – Last return code (1)

Since I did not find much community guidance around this, I thought I’ll do some research myself and post the solution for other’s benefit as well.

A little bit of digging around revealed that the IISExt.vbs script file was indeed missing from the C:\Windows\System32 folder. Further research revealed that the script is part of the IIS 6.0 scripting tools. The solution therefore is as simple as enabling the IIS 6.0 Scripting Tools through the Server Roles and Features Wizard. The path to the IIS 6.0 Scripting Tools is shown in the following screen capture:

That’s it. Your pre-requisites installation should proceed as intended after you install these tools… Good Luck with your install!

Posted in SharePoint, SharePoint 2013 | Tagged , | 25 Comments

Configure Apps for SharePoint 2013

Microsoft has published a very comprehensive set of guidelines for installing, configuring and managing Apps for SharePoint 2013. These guidelines are available on the TechNet site here: Without duplicating those details however, I wanted to capture the few necessary steps for those who wanted to quickly get apps for SharePoint 2013 going on a dev. farm. Please note that the examples assume you are using the VM downloaded from my earlier blog post:

  1. Configure DNS entries: First a little background on why we need to do this – Each installation of an app has a unique URL in your environment. You determine the template for that URL (by determining a domain name and an app prefix), and then app URLs are automatically generated based on that template. Paths for the apps are based on the URL for the site where they are installed. When you install an app to a site, a SubWeb of that site is created to host the app content. The SubWeb for the app is hierarchically below the site collection, but has an isolated unique host header instead of being under the site’s URL. It is recommended to configure a separate DNS for your apps. The difference in domain names provides a layer of isolation for the apps. The use of a different domain name from the SharePoint sites prevents cross-site scripting between the apps and sites and unauthorized access to users’ data. Once you have configured the DNS, you will want to create a wildcard DNS so any app URLs that SharePoint creates can be serviced. The screen shot below shows a “*.apps” wildcard CNAME record:
  2. Enable Services on the server: Browse to “Central Administration –> System Settings –> Manage Services on server” and ensure that the “App Management Service” and “Microsoft SharePoint Foundation Subscription Settings Service” services are started:
  3. Configure the Subscription Settings service application and proxy:  You can do so by running the following commands in the SharePoint 2013 Management Shell (PowerShell) – examples below assume you are using the VM downloaded through my blog post:
    1. $account = Get-SPManagedAccount “<farm account>”
      • Where: <farm account> is the name of the Farm administrators account in the SharePoint farm
      • Example: $account = Get-SPManagedAccount “sp_farm”
    2. $appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
    3. $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName <SettingsServiceDB>
      • Where: <SettingsServiceDB> is the name that you’d like to give to the new Subscription Settings Service database that the above command will create
      • Example: $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName App_SubscriptionSettingsService
    4. $proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc
  4. Configure the App Management service application and proxy:  You can do so by running the following commands in  SharePoint 2013 Management Shell (PowerShell) – again, examples below assume you are using the VM downloaded through my blog post:
    1. $account = Get-SPManagedAccount “<farm account>”
      • Where: <farm account> is the name of the Farm administrators account in the SharePoint farm
      • Example: $account = Get-SPManagedAccount “sp_farm”
    2. $appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account
    3. $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName <AppServiceDB>
      • Where: <AppServiceDB> is the name that you’d like to give to the new App Management Service database that the above command will create
      • Example: $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName App_AppManagmentService
    4. $proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
  5. Configure the app URLs in Central Admin: Browse to “Central Administration –> Apps –> Configure App URLs” and enter the wildcard CNAME entry that you created above (in step 1) along with an app prefix as depicted below:
    APP URLs

That’s all you would need to do to get started. Now, a few issues that I faced in my environment (and how to overcome them):

  1. Access denied error when trying to configure the Subscription Settings service application: You are most likely going to face this issue if you are using the VM created by me. The underlying cause for this issue is that for some reason, the SQL server installation did not configure permissions correctly on the “Data” directory. This results in a failure when PowerShell tries to create the database for the service application. To overcome the issue you will manually need to grant the “SQLServerMSASUser$SP2013$MSSQLSERVER” Read and Write access to the data directory:
  2. 401.1 error: The second issue that I faced was the http 401.1 error that I received after adding an app from the SharePoint App Store and browsing to this newly added app. There are 2 workarounds for this issue that Microsoft describes in this KB article. I am going to duplicate the recommended approach described in this KB:
    1. Open the registry editor (regedit.exe)
    2. Browse to the following path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
    3. Add a new Multi-String Value and call it: BackConnectionHostNames
    4. Edit the value and enter * and in two different lines:
    5. Close the registry editor and restart the machine
    6. Browse to your app again and it should now open just fine after you provide the required credentials.
    7. In case the above does not work, you may want to go for the second workaround described in the KB (but only in non-production environments)

Hope the above helps you in getting a quick start on using Apps for SharePoint 2013!

Posted in How To, SharePoint, SharePoint 2013 | Tagged , | 14 Comments

SharePoint 2013 RTM on Windows Server 2012: Virtual Machine Download

UPDATE: I have created a new VM with SharePoint 2013 SP1 and SQL Server 2014 on Windows Server 2012 R2. This updated VM is available on my blog at: The licenses on VM available through the blog below have expired and I’ll recommend getting the new VM from the above link. Thanks for all your feedback and comments!

Since the time I created this SharePoint 2013 Virtual machine using the preview version on Windows Server ’08 quite a few enthusiasts have asked if I could upload one with SharePoint 2013 RTM and Win Server 2012. So I spent some time these holidays to create and upload one. Here it goes…

  1. The VM was created using the VMWare Player version 6 which can be downloaded as a free download from the VMWare site.
  2. It was created using the 180 day evaluation versions Windows Server 2012, SQL Server 2012 (see below) and the SharePoint 2013. If you’d like to, you can enter your own keys to activate the trial/ evaluation versions.
  3. It consists of 6 hard drives and a VMWare virtual machine configuration (.vmx) file. Both the configuration file and hard drives are part of self-extracting .rar files (with the actual total current size at about 35 GBs) which can be downloaded from the download links below.
  4. It has 8 GBs of RAM allocated to it by default (controlled by the settings in the “.vmx” file or via the virtual machine settings in the VMWare player )
  5. It has the Classic Shell start menu installed from so you can get the old Windows start menu in addition to the new Windows “Start screen”. This also results in Windows booting up to the desktop instead of the new Windows start screen. Although, if you’d like to, you can get to the Start screen by clicking the Shift+Windows button combination. You can also configure Classic Shell so Windows boots up to the start screen instead, if you so desire.
  6. It has the start-up type for a few non-necessary Windows and SQL services changed to “Manual” or “Delayed start” to conserve overall and start-up resources. This includes services for the SQL Server 2012 SSAS, SSIS and SSRS features which I installed just in case anyone needs them.
  7. Has the Apps service configured to use the URL
  8. Once you fire up the Virtual machine, Windows will auto login to the Administrator’s  account. The “sp20130\administrator” account is the account used to install SharePoint and should be used to access central admin.
  9. The virtual machine additionally has the following accounts:
    sp_adminuser: This is a regular user account I created to be added as a site collection admin. This account has site collection admin privileges on the default site collection on the port 80 Web App
    sp_apppool_content: This is the app pool account for web applications
    sp_apppool_service: This could be used as the app pool account for the service apps that you may configure
    sp_cache_supperreader and sp-cache_superuser: The object cache access user accounts
    sp_farm: The farm account that is configured while installing SharePoint
    sp_search: The search service account
    sp_searchcrawl: The search crawl account
    sp_service: This account is used for various service applications
    sqladmin: This is the SQL server service account
  10. All accounts in the VM share the same password which is part of the ReadMe file accompanying the downloads.

Finally, all the files, including the ReadMe.txt are uploaded to the Google Drive folder at the following link:

To download the files, you can go with either of the following options:

  1. Add the folder to your Google Drive and then use the Google Drive Desktop Client to sync the files to your local computer (also recommended) OR
  2. Download the files directly by using the browser “Save target as…” functionality (least recommended)

Instructions for extracting the VM: You will need to download all the .rar and .exe files to your machine and then run the “SP2013.exe” executable to unpack the virtual machine hard drives. After ensuring that you have the latest version of the VMWare Player installed, you can then double-click the “SP2013.vmx” file to run the virtual machine.

Instructions to activate the licenses on the VM with SQL 2012: The evaluation versions of the OS, SharePoint Server and SQL Server 2012 that the earlier virtual machine was running on have expired. Here’s how you can bypass the issue and activate the licenses for those who would still like to use the VM with SQL 2012 (please note that I have also provided above a link for an alternate VM with SQL 2014 that does not need the licenses to be activated yet):

  1. For the OS (Windows Server 2012): You can either:
    1. Rearm the evaluation version by running he following command from the command prompt: slmgr /rearm. This will extend the OS evaluation for another 180 days. Note that you will be able to do 4 more such rearms before having to convert the license to retail
    2. Convert to a retail license: You can view the instructions to do so in the comments below here  and in the corresponding TechNet article here
  2. For SQL Server 2012: Unfortunately there’s no way to rearm a SQL Server Evaluation license. You will have to convert it to a retail license. The way to do that is to:
    1. Run the SQL Server setup
    2. Click on the maintenance tab
    3. Click on “Edition upgrade”
    4. Follow the steps till you reach the product key screen and enter your product key (usually pre-filled if a licensed installation media is used)
    5. You can read a good set of instructions for converting your eval license to a full license here:
  3. For SharePoint Server 2013:
    1. Browse to Central Admin –> Upgrade and Migration –> Convert farm license type
    2. On the Convert License Type page, in the Enter the Product Key box, type the new product key and then click OK.
    3. Verify that the license is upgraded by going back to the page

As mentioned above, I am working on uploading an updated image of the VM and I highly appreciate your patience while I work on it.

Hope you will find the VM useful and will share any feedback that you may have! Happy SharePointing! 🙂

Posted in SharePoint, SharePoint 2013 | Tagged , , , , , , | 295 Comments