Problem installing SharePoint prerequisites on an Azure Virtual machine


I was installing a SharePoint development environment on an Azure virtual machine today, and I experienced an annoying hitch.

I had mounted the MSDN SharePoint iso image, using Explorers Mount function, and everything was going according to plan.

I started the install, began the prerequisites installation, this runs for a while until a restart is necessary to complete the installation and this is where the problem appeared.

Once the Vm restarted, the image was no longer mounted and when the post boot operation attempted to restart / continue the prerequisite installation, it crashes because the command it wants to run off the F: (virtual cd drive) no longer exists.

The way I found around it was to click out of the error message, mount the dvd again, and restart the install using the following command:

F:prerequisiteinstaller.exe /continue

Minor annoyance, but easily solved.


Samba share shows an empty directory when there are lots of files in it.

Lately I have had an issue on a Linux based server that is running Samba to share files.

One directory in particular would show up as empty even though it had plenty of files inside of it. This didn’t always happen though. Sometimes it was fine. Then it started happening to other directories as well.

I was stumped for a while. I started going through the log files looking for reason which I found:

Conversion error: Illegal multibyte sequence()

It turns out that some filenames had unicode characters in them that apparently made them hard for Samba to deal with.

I started looking around for solutions and I found a lot of good tips and scripts but then I came upon a program called detox.
It is included in Ubuntu and most other distributions I touch.

Detox will strip away troublesome characters from the files and directories and once run Samba is happy again.

Many web servers still not patched for heartbleed.

Cisco today warned that more than half the websites that OpenSSL are still vulnerable to Heartbleed attacks.

The bug has been public for more than 9 months now and many servers are still not protected.

The Heartbleed bug, discovered in April last year, is a flaw in a software used across two-thirds of websites, allowing hackers to request information, such as passwords, stored in a computer’s short term memory.

John Stewart, Cisco’s chief security officer, said users did not know whether websites they are visiting were safe. Hackers used Heartbleed to hit the Canadian tax authority’s website and the UK parenting website Mumsnet, among other services.

“When we travel around the internet, we don’t know if we’re going to current versions or not,” he said. “More than half of the sites are using very vulnerable versions of SSL.”


Test your server:

Original disclosure:

One feature github is missing: “Vaporware status”

It is hard to not to get blasted with dozens of github links on a daily basis.

Github has grown to be the social network for coders and wannabes, and like all social networks people compete to bring attention to their profile.

One way they go about it is to post about their projects on hacker news, reddit or some blog somewhere that I am sent a link to. Some of them sound really amazing and useful.

I used to be filled with joy at the vastness of the code available and all the amazing projects that lived there. And this is still true. There are an amazing gems on there, but like all gems, they are buried in a pile of dirt or more appropriately here “vaporware” and / or “dead projects”

Some are very easy to spot. The repository consists a long readme file that lists everything the projects does and little else. Someone had a dream and maybe it will grow someday.

What I find much more frustrating are the projects that have a nice readme file and code in the repo. But when you start digging into the projects to learn what cool algorithms its uses and how a feature is implemented it is not there. Lots of code files but nothing of substance.

When you start digging in you really have no idea how far along a project is. The “advert” / link you followed to get there promised unicorns swimming in gold, but what you find is a bunch of nonsense. The frustrating part is that you have to invest a good deal of time to come to this realization. After this happens a few times in a row you become weary of investing your time at all. This is a very damaging result. Good open source projects need eager people to dig in and help.

I suggest a “vaporware” indicator. This would let me easily assess the state of a project without digging through obscure code files only to be disappointed. By default all projects are vaporware. The contributors can reduce the level of vaporware and visitors can vote to increase it or decrease it.

Another indicator I would like to see is a “dead project” indicator. This is partially there already when you look at project activity but a nice badge would be easier to spot.

There are thousands of projects that are both vaporware and dead and that will in all probability remain in that state forever.

Given that github already has a “gaming” aspect to it, like everything these days a nice carrot would be a badges like: “Certified Real”, “Actually Works” , “Production ready”, “Ships in Ubuntu 10.1”, “100 000 current users”.

This would give everyone who clicked into the project a quick way to assess its status and evaluate whether its worth their time or not. Some ideas are so good that even if the project is in a state of vapor people will still flock to them to create something special

Error when trying to install Windows Azure Active Directory Module for Windows PowerShell


I was writing a script to automate group creation and permissions for Office 365 today, and had to install the Windows Azure Active Directory Module for Windows PowerShell when I ran across a curious error.



The error itself is self-explanatory or so I thought.

I downloaded and installed the Microsoft Online Services Sign-In Assistant and then prompted restarted my laptop.

Unfortunately, I received the same error all over again.

It was as if the install never happened.


After trying far too many things I ended up trying to install the AdministrationConfig-en.msi via Powershell and msiexec running as administrator.

msiexec.exe /a ‘C:Userssome.oneDownloadsAdministrationConfig-en.msi’


This allowed the install to go through and I could get back to scripting groups and users.

Error in Visual studio:“Metadata file ‘abc’ could not be found”

I encountered a strange bug today while coding in Visual Studio.

Metadata file ‘abc’ could not be found


Now this could happen if one project in the solution was not compiling, but every project in the solution compiled without error. The natural next step is to do a Clean / Rebuild which I performed, but the error persisted. I went through the properties for a recent project I added to the solution and that was fine as well.

Eventually I found a solution online:

  • Manually clean each project separately
  • Manually rebuild each project separately.

Why should it matter if you do a global clean and rebuild or a manual rebuild of each project I don’t understand but it is how I fixed the problem.


How can I get the schema.xml file for a list in SharePoint


There is a quick and dirty way to download the schema.xml file from a SharePoint list.

Just point your browser to the Url below. (Obviously change the relevant parts):



A cleaner way to go about it is to export the site as a template, download the created WSP and open it in Visual Studio.

An even easier way is to download SharePoint Manager (make sure you get the right edition of SharePoint Manager for the version of SharePoint you are using). It will let you see the schema as well.

Exporting a SharePoint list using PowerShell

There are some great 3rd party tool that make copying and moving lists between different SharePoint farms easy and a few clicks.

If you are not lucky enough to have access to such a tool the easiest way is to export the list to Excel using built in SharePoint functionality.

This requires Excel to be installed on the computer you are using to export the data.

Recently I found myself in an environment that did not have access to 3rd party tools, nor Excel. What to do?

Thankfully PowerShell makes it easy

We start off with the most basic example:

Export-SPWeb http://site -Path “site export.cmp”


Here is one with a few more options used:

Export-SPWeb -Identity “http://localhost” -ItemUrl “/site/lists/ListTitle” -path “c:\exportfile.exp”

Note the file extension is not required, and can be anything.

Important parameters. (you can find a full list here)

  • Identity: full url (absolute) of the site where the list exists
  • ItemUrl:  relative path of the list
  • path: path of the output file to save the data in.


If you have many items in your list, you might see that PowerShell generates many files. This is normal

The content of the list is in a binary format so its not much to look at.

Once you have exported your nice list, you might want to Import it.

For that job there is:

Import-SPWeb http://site -Path export.cmp -UpdateVersions Overwrite

WorkflowHistory list on a localized farm.


This is a short note.

If you are working on a SharePoint farm that has been localized, Urls that you are used to pulling up might not be where you expect them to be.

For instance, the Workflow History list lives at:


In a SharePoint farm localized for Norwegian.

If you find yourself in on a localized box and you do not quite know what things are called, taking a look at all the lists can be helpful.




Error when using PowerShell to uninstall a wsp in SharePoint 2010

When using PowerShell to uninstall a solution / wsp under Sharepoint 2010 I got the following error:

 “Update-SPSolution : Cannot uninstall the LanguagePack 0 because it is not deployed.”

That is a puzzling error message. I have no idea what language pack they are referring to, nor why it is relevant right now.

Here are some ways to troubleshoot this error:

If you are using a script to uninstall and reinstall a wsp, the reason for the problem may be that that Uninstall has already run successfully.


And you are running it again, after it has succeeded. In at least one case, this was the case for me. In this case, just login to central admin and go to:

Central Administration >System Settings > Manage farm solutions

Look for the entry for your wsp and check what its status is.

In some cases, it may be necessary to run services.msc and restart SharePoint Timer service and the SharePoint Administration service.

This should get you back on track again.