My New Blog –

24 05 2010

I decided that this blog was looking a bit tired and didn’t display correctly in some browsers. So I’ve decided to go the hosted route – I’m now hosting a new wordpress blog with Fasthosts.

You can find my new blog here –

I will no longer be updating this blog – I have migrated all posts & comments to my new blog.

Thanks for all your comments and views! 🙂



PerformancePoint 2010 Dashboard Designer – ‘An unexpected system error has occurred’ when adding a data connection

16 04 2010

Whilst trying to setup a PerformancePoint 2010 dashboard on my SharePoint 2010 boot to vhd environment today I received this error message – ‘An unexpected system error has occured’…’ when adding a data connection in the Dashboard Designer.

A couple of Google searches didn’t turn up much but did point me towards the ‘Secure Store Service’ – this can be found in Central Administration > Manage Service Applications.

The service was started but when I tried to manage the service I received another error stating that the service was not responding!

It was then that I realised – the environment in question did not contain the pre-requisite WCF hotfix which is required for SharePoint 2010 to install on Windows Server 2008 R2. This machine had actually been been upgraded from Windows Server 2008 x64 to Server 2008 R2 x64 (this was the SharePoint Information Worker VHD) therefore the hotfix did not exist.

I was worried I would have to re-install SharePoint after installing the hotfix but it turns out you don’t need to, just follow the steps below –

  1. Download the Windows Server 2008 R2 WCF hotfix (there are two versions of this patch and the latest is version 2 – ‘Windows6.1-KB976462-v2-x64.msu’), get it from here – KB976462
  2. Install the hotfix and reboot the machine
  3. Run the SharePoint Products and Technologies configuration wizard – PSCONFIG
  4. Proceed through the wizard and it will upgrade your SharePoint farm
  5. Check in Central Administration and you should now be able to successfully manage the ‘Secure Store Service’ and Dashboard Designer should work!!

Hope this helps 🙂

The Gadget Show Live

12 04 2010

I attended the Gadget Show Live at the NEC in Birmingham last week – the tickets were bought for me as a Christmas present from my partner. I thought I would do a quick write up of the show with a few pics.

We went on Thursday which was the first day of the show and it was packed to say the least. This was the queue waiting for the doors to open –

Thousands of geeks

“Thousands of geeks” 

3D tech dominated the exhibition with Sony, Panasonic and Nvidia displaying their latest kit. Each of these manufacturers were offering demo’s of their 3D systems – we went to see the one by Nvidia.

The demo was impressive and I had a feeling that the cost of all this kit would be expensive and it was! Nvidia’s offering was a 3D capable GPU retailing at around £300 plus another £300/£400 for a 3D capable monitor and ‘Active’ (powered) 3D glasses.

Other stands we visited on the day included SCAN computers who were demonstrating the art of overclocking using liquid nitrogen.

One of the highlights of the day was riding the YikeBike around a short ‘Test Track’ which was setup for testing some of the personal transport gadgets on offer. Here is a pic of the track –


The Test Track”

For those of you who haven’t heard of the YikeBike it is the world’s first folding electric bike and looks very similar to a penny farthing. It was pretty fun to ride although tricky to get the hang of – once you got the hang of it you could really get some speed up and have some fun.


“The YikeBike”

The other main highlight for me was the 1 hour long ‘Supertheatre’ show. The show featured each of the show’s presenters – Suzi, Jason, Ortis and John undertaking challenges and performing stunts for the audience. The show also featured Titan the robot – who was very entertaining! They also gave away some tech during the show although it was only a few items. While we waited in the supertheatre they had Festo robotic ‘AirPenguins’ flying around to entertain us –


“Festo flying AirPenguins”

Overall I really enjoyed the Gadget Show Live and would recommend it although I did think they could have given away some more tech/prizes on the day.

Top day out indeed! 🙂

SharePoint Feature Receiver Error ‘The EXECUTE permission was denied…’

15 03 2010

I got this error this morning when trying to activate a web feature in a site collection. It turns out that this is because the application pool running the web application (in my case ‘Network Service’) does not have the required permissions to run some SharePoint SQL stored procedures within the configuration database.

In order to fix this error you will need to give the application pool database role WSS_Content_Application_Pools ‘Execute’ rights on the following stored procedures:

  1. proc_PutObject
  2. proc_putClass
  3. proc_dropObject
  4. proc_getNewObjects

Once you have granted this role the correct permissions you will be able to activate the feature/perform the operation you were attempting before.

Hope this helps!

Boot to VHD with the SharePoint Information Worker VHD (For those with 4GB of RAM or less)

6 03 2010

Before I begin I want to say thank you to a few people who helped me to get this working, through their blog posts and messages on twitter – @brianlala @joeloleson @LoungeFlyZ.

As I’m sure most of you are aware – the launch date for SharePoint 2010 has now been announced as May 12th. So what better time to start looking at SharePoint 2010.

Brian has already posted a guide on his blog that details most of the steps required to get this working –

I will cover some additional steps that aren’t mention and also what’s required to shrink the VHD and convert it to a fixed size. Whilst the VHD itself is only around 40gb in size – it has been set to dynamically expand and the OS partition is set at 130gb. This means that to boot from it you will need at least 130gb free on your hard drive as when the VHD is booted for some reason it needs to expand to its full size, see this post for more info –

If you do not resize the VHD and don’t have the required space for it to expand then you will get a Blue Screen of Death (BSOD) when booting.

I will also cover in this guide the process of injecting your hard disk controller driver into the VHD. Brian covers this in his guide but I have some tips for this which I will share.

For those of you that weren’t aware, Microsoft have provided a SharePoint 2010 VHD for download entitled the ‘SharePoint Information Worker VHD’. This download actually contains two VHD’s – the second of which acts as as a mail server (this one will not be covered in this guide).

The first VHD contains SharePoint 2010 Beta, Visual Studio 2010 Beta, Office 2010 ‘Mondo’ and most apps you will need. The machine is setup as a domain controller of the ‘Contoso’ domain and is pre-populated with about 200 or so AD users. Various SharePoint sites have already been setup too.

Whilst I think the VHD’s provided by Microsoft are great they are not setup to be booted from. I only have 4gb of RAM in my laptop so boot to VHD was really the only option if I wanted to run this machine.

Part 1 – Resizing/Cloning the VM

1. Un-install Office 2010 ‘Mondo’ from the machine, if you don’t do this you will not be able to remove it again and will most likely be stuck with a 1722 error each time you launch an office application.

2. Follow the steps on Brian’s blog post to upgrade the OS within the VHD to Windows Server 2008 R2. You will need run the domainprep tool with the /forestprep and /adprep command line switches first.

3. Now you need to resize the 130gb partition to something more manageable. So download a copy of the GParted live CD and boot from it. Once you are at the GParted interface select the partition and resize it down to a sensible size – I chose 60gb. You will need to click resize and then apply.

4. Once GParted has finished – reboot the VM and let the chkdsk run if it wants to check the consistency of the disk. If you have a look in disk management now you will see that the partition has been resized but we are now left with a lot of unallocated space – this needs to be removed before we can boot to the VHD.

5. Shutdown the VM and create a new fixed size virtual hard disk, you will need to make sure it is slightly bigger than the size you chose earlier when resizing the partition. I chose 63gb for the size of my new virtual disk.

6. Attach the newly created hard disk file to the VM.

7. Now we need to clone the contents of the original hard disk onto the newly created one. There are a number of software options out there to do this – one in particular being Norton Ghost but this costs money. I found that Clonezilla which is free and open source does the job perfectly – Download the live CD and boot the VM from it.

8. Follow the steps in the Clonezilla interface using beginner mode to clone the contents of hard disk 1 to hard disk 2.

9. Once Clonezilla has finished power off the VM and remove the original hard disk.

10. Power on the VM and make sure it boots correctly, if it fails check the troubleshooting section at the bottom of this post.

Part 2 – Configuring it to Boot

Before we can copy the virtual hard disk (VHD) file over to our client machine ready for booting we need to either inject the hard disk controller drives and modify the registry. If we don’t do this then we will most likely get a BSOD when we try to boot from the VHD.

I’m afraid that I am not going to go into a great level of detail here but will point out the steps that helped me and allowed me to get the VHD to boot.

1. Open the registry editor on the client machine (the machine you want to boot the VHD from) and navigate to HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services. This key contains all the drivers/services that windows loads when it boots.

2. Navigate to the same key on the VM, what you will need to do now is go through each of the sub-keys in the services key and compare each one’s ‘Start’ value. A value of 3 indicates that it will start when windows is boot and 0 indicates that it will not . Rather than go through each key, check ones which are most likely to be hard disk controllers e.g. ‘atapi,intelide’ etc.

Depending on your SATA/IDE controller it may not just be a case of editing these registry entries – you might need to copy the drivers to the VM and add registry entries for these drivers but I’m afraid I’m not going to cover that here.

3. THIS IS WHAT WORKED FOR ME – In my case I simply set the start value of the ‘msahci’ (SCSI Controller) to 0, this was set to start on the VM and I guess most likely because of the hardware that Hyper-V uses. Try this before attempting the above.

**Please note that once you have made these changes the VHD might not boot again in Hyper-V so you may wish to make a backup!**

Part 3 – Booting from the VHD

Once you think you are ready to boot from the VHD, copy the VHD file to your client machine and add an entry to the boot menu as described here –

When you reboot your machine you will see a new option in the boot menu to boot into your SharePoint Information Worker VHD. If all has gone well then it will boot and you can then begin to install the drivers for your hardware.

Hope this helps someone – think this has been my longest blog post yet!! 🙂


If for any reason the VM does not boot and you get this error message –

‘The boot selection failed because a required device is inaccessible’

Try these steps to fix it (I received the error after using GParted to resize the disk) –

1.Boot from the Windows CD you used to upgrade the VM

2. Select the ‘Repair My Computer’ option

3. Open the command prompt and type ‘bootrec /scanos’ – hopefully you will see the windows install

4. Now type ‘bootrec /rebuildbcd’ and select the windows install – this will add it back to the BCD boot menu.

5. Reboot the VM – hopefully it works!

How to: Boot Windows Server 2008 R2 or Windows 7 from a VHD

17 02 2010

I have now done this multiple times and was recently requested to write a quick how to on my blog so here it is. Windows 7 and Windows Server 2008 R2 both support being booted and installed as a VHD (Virtual Hard Disk). Rather than being installed physically on the disk – the operating system is simply is stored as a VHD file on your hard drive.

**Please note you will need an existing normal installation of Windows 7 or Windows Server 2008 R2 on your computer for this to work!**

Follow the steps below to get up and running:

  1. Boot from the Windows 7 or Windows Server 2008 R2 DVD
  2. When the first installation dialog appears press SHIFT + F10 to open the command prompt
  3. Type ‘diskpart’ and hit ENTER
  4. When the diskpart prompt appears enter the following command – create vdisk file=c:\vdiskname.vhd type=fixed maximum=20000 (this will create a VHD that is 20 GB in size on your C: drive). Make sure you change ‘vdisknamne’ to whatever you want to the VHD to be called. You can also use type ‘expandable’ instead of fixed if you wish so that the VHD expands automatically.
  5. Next type select vdisk file=c:\vdiskname.vhd – where ‘vdiskname’ is the name of your VHD
  6. Finally type attach vdisk
  7. Exit from diskpart and the command prompt
  8. Continue with the installation – when it comes to selecting the partition on which to install the operating system select the newly created VHD partition. Ignore any warnings like ‘you cannot boot from this partition’ as it will boot fine.
  9. Success – once the installation is finished and you reboot your PC you will see a new option in your boot menu to boot from your new VHD.

Hope this helps :-)!

Getting field values of an SPListItem returned from an SPQuery – watch out!

16 02 2010

I have seen and read about this gotcha before but even so I still fell for it today and it took for a couple of hours to figure out so I’ve decided to blog about it.

If you are working with SharePoint items in code which you have returned using a CAML query then you should always populate the SPQuery instance’s ViewFields property. You must include in here all the fields for which you might need to get the value of later. Failure to do this will mean the returned SPListItem instances might not contain the data for certain fields and will throw an exception (usually ‘Value was not within the expected range’).

The ViewFields property is set like this:

    <fieldref name="Title" /><fieldref name="Created" /><fieldref name="ID" />


You can then access a fields value on an SPListItem instance using the normal code:

    SPListItem item = list.GetItemById(1);

    string Title = item["Title"].ToString();


Hope this helps!!