Microsoft provides an MMC SnapIn for managing Azure Services as C# source code and a set of scripts. The tool allows the management and configuration of .NET Access Control Services, .NET Service Bus, and .NET Workflow Services [now on hold until .net 4.0 matures]. The download can be found here:
When following the Readme.docx instructions for compiling and installing the AzureServicesManagement Tools on Vista, the installation will fail. The error message will be swallowed and you won’t be told what failed because the script will continue execution past the error. Placing pause statements into the “build.cmd” script when an error occurs will help you to see what is going on:
Now when we run StartHere.cmd again, we can see the error… but we are still confused… here is what you will see:
To save you from pulling your hair out following this rabbit down the proverbial rabbit hole, the most important step that we need to accomplish is getting the compiled assemblies into the GAC. Visual Studio must run with elevated permissions because the AzureServices.Management project has two post build steps that run the InstallUtil utility. You will see this error if you open Visual Studio without Elevation and try to compile the solution directly:
To get the solution compiled and the assemblies you need registered in the GAC on Vista, run Visual Studio 2008 in Elevated mode.
Open the AzureServicesManagement.sln file from the Elevated (Administrator) Visual Studio 2008.
Compile the solution. This will cause the post build step to run the InstallUtil tool to install the compiled MMC SnapIn DLL into the GAC.
Exit Visual Studio and run the StartHere.cmd file as instructed in the Readme.docx instructions. The error will still occur, but it can be ignored because you have already registered the assemblies in the GAC. I did not verify where the “Debug|MCD” configuration was coming from as it seemed unnecessary to establish this work-around; however, if someone wants to take this a bit further, its my assumption is that the Microsoft supplied ConfigurationWizard.exe located in the AssetsDependency folder is setting the configuration to the non-existent “Debug|MCD” value.
Add an additional PAUSE to the Install.cmd file in the scripts folder if you want to read the output of InstallUtil to ensure proper GAC registration (or simply check the InstallUtil.InstallLog file located in the bin/Debug folder).
You should now be able to use the AzureServicesManagement Tools as described in the Readme document by double clicking on the AzureServicesMMC.msc file in the AzureManagementTools directory.