Speaking at SharePoint Saturday Baltimore on Creating your SharePoint 2013 dev. VM in an hour

I am very excited to be speaking at SharePoint Saturday Baltimore this weekend: http://www.spsevents.org/city/baltimore/baltimore2014/sessions

My session will mainly be a demo of how you can create a SharePoint 2013 VM in an hour from scratch. As promised, following are the resources that you will need in case you’d like to follow along and start creating your own VM:

  1. Software:
    1. Win Server 2012 Std/ Datacenter/ Eval (http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx)
    2. SQL Server 2012 with SP1 Std/ Ent/ Eval (http://technet.microsoft.com/en-US/evalcenter/hh225126)
    3. SQL Server 2012 KB2793634 (http://www.microsoft.com/en-us/download/details.aspx?id=36215)
    4. SharePoint Server 2013 with SP1 Available on VLSC, MSDN and MPN
    5. Classic Shell http://www.classicshell.net/downloads/
    6. SharePoint Server 2013 Pre-requisites. I have uploaded them to the following URL for your convenience: http://1drv.ms/1oZcenU
  2. Scripts:
    1. SharePoint 2013 Service Accounts Creator: http://sp2013serviceaccount.codeplex.com/
    2. Add AD User/Group to Local Administrator Group: http://gallery.technet.microsoft.com/scriptcenter/Add-AD-UserGroup-to-Local-fe5e9239
    3. SQL Prep for SharePoint: http://www.toddklindt.com/Scripts/SQLtweaks.sql.txt
    4. AutoSPInstaller: http://autospinstaller.codeplex.com/
    5. AutoSPSourceBuilder: https://autospsourcebuilder.codeplex.com/
    6. AutoSPInstallerGUI: http://autospinstallergui.codeplex.com/
    7. I have also uploaded other necessary script files to: http://1drv.ms/T8BXzY

Finally, I will be using VMWare Workstation 10.0 to create the VMs during the demo.

Look forward to seeing you there!

Posted in Speaking | Tagged , , , | 2 Comments

SharePoint Server 2013 Installation & Planning Guide

Since the time I posted this SharePoint 2013 VM on my blog, I have received requests from a few SharePoint enthusiasts to also post detailed steps for installing SharePoint Server 2013. Since these steps are available on TechNet (see below for the link) and have been blogged about in a number of other places, I did not want to duplicate the effort here. What I did want to post here though is a step by step approach, architectural guidance, recommendations & resources that you will need to build a well-planned, scalable and error free SharePoint 2013 on premise production farm. The post will cover guidance around the following aspects of SharePoint Installation:

  1. Planning your SharePoint architecture
  2. Pre installation server prep
  3. Installing & configuring SharePoint
  4. Post installation maintenance & planning
  1. Plan your farm:
    1. Plan the physical and logical architecture: In addition to the above here are a few links that will help you plan the physical and logical architecture and topology for the farm: http://technet.microsoft.com/en-us/sharepoint/fp123594.aspx, http://www.microsoft.com/en-us/download/details.aspx?id=30377, http://technet.microsoft.com/en-us/library/cc263199.aspx, http://technet.microsoft.com/en-us/library/ff829836.aspx
    2. Review the hardware & software requirements: The following link describes the hardware & software requirements for SharePoint: http://technet.microsoft.com/en-us/library/cc262485.aspx. A quick note here is that to avoid seeing future SharePoint health analyzer issues related to disk space (http://technet.microsoft.com/en-us/library/ff805057(v=office.14).aspx), I will also recommend  starting with system drive that is higher than the recommended 80 GB (I typically start with a 100 GBS). I will also recommend placing the SharePoint logs, usage reports and search indexes to a drive other than the system drive
    3. Capacity plan your hardware: While the link above will get you started with the minimum recommended environment, it is always recommended to capacity plan your hardware in advance from a performance and scalability perspective. The following link describes advanced capacity and sizing recommendations for SharePoint Server 2013: http://technet.microsoft.com/en-us/library/ff758647.aspx
    4. Plan Service and admin accounts for your farm: SharePoint needs various accounts to be configured with different sets of permissions. The following article is a good reference for the different accounts that need to be set up and configured for SharePoint: http://technet.microsoft.com/en-us/library/cc263445.aspx
    5. More in-Depth planning for SharePoint 2013: Finally, for advanced readers or for those who’d like to setup sophisticated  farms, the following is a very comprehensive guide for an in-depth planning of different aspects of SharePoint Server 2013: http://technet.microsoft.com/en-us/library/cc261834.aspx
  2. Prepare your servers for SharePoint installation:
    1. OS:
      1. Before you install any software on either the SharePoint or SQL servers, ensure that you have activated the OS licenses on these servers (although this is not a required step at this point)
      2. Also ensure that you have applied the latest patches for the OS on all the servers
    2. SQL Server(s): SharePoint is a very database intensive product. For optimal performance and throughput, it is highly recommended that the SQL Server be optimally set up by following these practices:
      1. Apply the latest patches and updates (this should be done before even you begin installing SharePoint)
      2. Follow the guidelines on this link to ensure that you have carried out the necessary planning and configuration on the SQL server front as well: http://technet.microsoft.com/en-us/library/hh292622.aspx. Besides other considerations, I’d like to specifically point you to the sections titled “Configure specific SQL Server settings before you deploy SharePoint Server 2013”, “Design storage for optimal throughput and manageability” & “Proactively manage the growth of data and log files” from this article for optimal performance of the SQL server
      3. Plan your SQL Server capacity and configuration: The following link provides in depth details about planning Your SQL server for the various SharePoint databases: http://technet.microsoft.com/en-us/library/cc298801.aspx
  3. SharePoint installation and configuration:
    1. Installation guides for manual installation: The following links provide detailed installation & configuration steps for SharePoint 2013 installation: http://technet.microsoft.com/en-us/library/cc262957.aspx & http://www.microsoft.com/en-us/download/details.aspx?id=30384. This includes installing the pre-requisites for SharePoint Server 2013.
    2. Scripted Installations: For those who prefer a scripted approach or would like to build multiple environments, you can refer to tools such as the AutoSPInstaller & AutoSPSourceBuilder to script your SharePoint 2013 installation. Matthey J. Bailey in a very useful blog post here also provides links to other guides and tools to build your scripted/ non-scripted SharePoint environments (Search for the section titled “Detailed Instructions on How to Install a SharePoint 2013 Development Environment”)
    3. Cumulative Updates: After SharePoint is installed, I will recommend installing the latest updates and CUs from this link: http://technet.microsoft.com/en-us/sharepoint/jj891062.aspx after you install SharePoint and before you run the SharePoint products configuration wizard.
    4. Possible installation issues & troubleshooting: The following articles describe a few possible issues while installing SharePoint & their resolution (I’ll keep updating these as and when I find more links and based on any inputs): http://blogs.msdn.com/b/fabdulwahab/archive/2013/08/29/sharepoint-2013-installation-and-configuration-issues.aspx & https://gauravmahajan.net/2013/01/31/sharepoint-2013-installation-error-iisext-vbs/
  4. Monitoring & post installation maintenance:
    1. Plan for monitoring SharePoint: The following article provides good details on SharePoint monitoring tools, scenarios and schedules: http://technet.microsoft.com/en-us/library/jj219701.aspx
    2. The following article discusses configuring monitoring and performance counters for SharePoint 2013: http://technet.microsoft.com/en-us/library/ff758658.aspx
    3. SQL Server maintenance: The following article describes maintenance that needs to be carried out for a SQL server serving SharePoint databases: http://technet.microsoft.com/en-us/library/cc262731.aspx The article refers to SharePoint 2010 but a lot of it is still true for SharePoint 2013

Hope this blog will serve as a comprehensive resource that you can refer to for planning, installing and maintaining your SharePoint 2013 farm. Good luck with your installation!

Posted in Deployment, SharePoint 2013 | Tagged , , | Leave a comment

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: http://www.microsoft.com/en-us/download/details.aspx?id=36843

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: http://go.microsoft.com/fwlink/?LinkID=274984
  2. Download and install the Data-Tier Application framework from here: http://www.microsoft.com/en-us/download/details.aspx?id=36842.
    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: http://www.microsoft.com/en-us/download/details.aspx?id=35471 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: http://gauravmahajan.net/2013/02/06/launch-windows-phone-8-emulator-without-launching-visual-studio-2012/

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): http://www.microsoft.com/en-us/download/details.aspx?id=35471
  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: http://social.msdn.microsoft.com/Forums/en-US/wptools/thread/b06cc9f2-aa5e-4cb3-9df1-0c273e1dfd68

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 , | 23 Comments