More About This Website

All information is provided "AS IS" with no warranties, and confers no rights


Converting site using Azure ACS to .NET 4.5

It started simple, with the idea of moving a site from Azure Cloud Services to Azure Websites since Azure Websites had all the things the site needed.  Well, almost… The site used Azure Access Control Services to do authentication of users and one of the blockers we hit early in the conversation process was how WIF handled the default cookie protection using DPAPI.  DPAPI isn’t available for Azure Websites so it throws some nice errors.

Vittorio has a great blog (as usual) here that talks about how you can swap out the security token handlers to ones that will work with Azure Websites.  The only catch is they are only supported in .NET 4.5 and there isn’t an equivalent for .NET 4.0/WIF 1.0 without building it.

So that seemed like an easy choice as we wanted to move it to the current .NET release anyway so we made the move to .NET 4.5.  The next catch is a lot of the WIF namespaces change to System.Identity* and so does all the configuration details.  Some of the classes are no longer used or renamed.   A good place to start in your journey is here that describes the changes required for WIF 4.5. 

Most of the code changes go pretty quick. Where it got tricky was the configuration file changes. I wasn’t able to find a great example showing the detail steps of migrating the configuration.  Visual Studio 2013 has some great tooling for identity, but it doesn’t support ACS since ACS is being rolled into Azure AD in the future.  In the mean time that leaves VS 2013 without tooling supporting ACS.  VS 2012 has tooling via the Identity and Access Tool.  Since we were already in VS2013 and still wanted to use the tool we created a empty ASP.NET application in VS2012 and ran the tool to setup the configuration file.  The we copied that configuration back to the existing project.    One thing to be aware of make sure the project you use with the tool in VS 2012 is .NET 4.5 and not .NET 4.51 or the tool won’t show on the context menu for the project.  

Hopefully this might help someone else moving to the latest with WIF and ACS.


Adding new Top Level Domains to Office 365

These days it seems like there are new top level domains for just about *.anything.  So far adding them to Azure has been painless and no different than any other traditional domain.  Office 365 still has some validation though in the portal that will tell you it’s an invalid domain.  To save you a call to support – all you have to do is register the domain using PowerShell instead of via the portal.

Here’s the full details but basically you download the admin PowerShell scripts and then do the following two commands

new-msoldomain -name Your.DomainNameHere


Fixing Visual Studio 2013 License Check

I travel a fair amount and one of the things that surprised me was that Visual Studio 2013 using the default install options didn’t set the static license from MSDN it used a phone home to check for a valid license.  After a couple times of almost getting locked out during trips, I found out that I could apply my MSDN key to solve the problem.

Fixing it takes about 30 seconds. First visit MSDN and get your key – you should be able to find that on your list of Product Keys.

Then in Visual Studio 2013 – visit Help –> Register Product


This is also where you can check to see if you are using a product key or the “Phone home” check. If it looks like the following you are not using a static key.  Click on the Change my product license key to set the new key.


Once changed it should look like the following and say Product key applied.  This is also how you will know if you have already done it!



Moving Azure Mobile Services from Account A to B

We just got done publishing an application to the Windows store using Azure Mobile Services (more on the app later) and had to change Windows Store accounts mid stream.  Don’t take this as an official how-to but just in case you end up in this situation just know it is possible and not that much of a pain.

We started building the application under Account A, but for business reasons decided to publish it under Account B.  We had already setup to the application in the store, configured Azure Mobile Services including authentication within the application.  There might be a step by step somewhere but I sure didn’t find it, and I was a little worried just winging it so close to releasing the application.  Here’s roughly what we did to switch it over

  • Setup the new Windows Store Account B, and went through verification
  • Created the same application with slightly different name under Account B, it won’t let you use the same name because Account A is still using it, and I was afraid to delete from A prior to setting up Account B, it turned out we liked the name with “s” added better anyway
  • In Visual Studio on the project right-click Store –> Associate and sign in to the new Account B, and choose the new application we just provisioned.  This part went much smoother than I thought, after a few seconds and files updated it finished.
  • Removed the application from the system (just to be on the safe side so nothing was confused)
  • Ran the application – it fails trying to authenticate because the package ID doesn’t match for the authentication
  • In Live  developer center you must change the URL for the application – as it won’t let you use the URL on the new application.
  • In Live Developer center update the application to have your Azure Mobile Services URL
  • From Live Developer take the Client ID and Client Secret and update the Azure Mobile Services Authentication tab info with that info
  • Run the application – all is good

Azure Continuous Build–Limit What Gets Built

I’m working on a Windows 8 application that also has a companion Azure Web site.  These happen to be in the same Team Foundation Service project.  So when I enabled the continuous builds and deploys it also tried to build the Windows 8 application and was failing because of other dependencies.  To keep things simple I really just wanted the auto build to build the Azure website and not the rest of the items in the solution.

When you setup the deploy on the Azure site and connect it to your TFS project it doesn’t tell you a lot about the magic that happens to cause the build to run.  Behind the scenes it creates a build definition for you.  If you edit the build definition from Team Explorer in Visual Studio you can specify which configuration the build should run on the solution when the build executes.  So if you want to limit what gets built, simply copy the Release configuration, uncheck Build/Deploy for the items that you don’t want built.  Then modify the TFS Build definition to specify that specific project configuration to build.

So in Configuration Manager for the Solution I added an AzureDeploy with only one web site project enabled


Then on Team Explorer, Builds, I edited the build template – selected the Process section and choose the AzureDeploy project configuration



First Look–Acer Monitor for Windows 8 (T232HL)

I’ve been waiting very impatiently for the next wave of touch monitors that would come out designed for Windows 8.  The Acer T232HL is one of the first to show up with the Windows 8 Compatible sticker on it.  It’s a 23 inch touch monitor with 10 touch point support and most importantly for Windows 8 has edge to edge glass without a bevel.  It supports 1920x1080 resolution, the same as its big brother the T272HL which is 27”.  I also looked at the 27” Planar touch which is also new for Windows 8 – but both neither of the 27” monitors increased the screen resolution and both almost doubled the price so I stuck with the 23”.

So far I’m impressed with the monitor – setup was pretty easy and it only took about 10 minutes.  So I don’t create yet another unboxing video, here’s one I found that looked pretty decent in case you want to see more about how it comes out of the box

I was impressed they give you all the cables for VGA, DVI and HDMI in addition to the expected power.  Like the other touch monitor I used this one has a USB cable that is required to activate touch.  The manual isn’t really that great about that being required but I know from my older Planar it was required.  As you can see in the video, the monitor has a kick stand that allows it to tilt back.  One challenge for me on my desk was this kickstand almost drops off the edge.  I also think the kickstand is a little more flimsily than I would like.  If you want you can also wall mount it. I’m pairing it with a couple of other 24” monitors so another small thing that I don’t like is it doesn’t have a vertical height adjustment so there isn’t a way to raise it up off the desk.  I could probably mount it on an arm to the wall and that would fix the height and the kickstand issues but I will give it a try for a few weeks as is.

A touch monitor certainly isn't required for Windows 8 but it does  work well with it.  I’m using this with my desktop along with two other monitors and it allows for good interaction with the new Windows 8 style applications.

If you are shopping for a Windows 8 touch monitor the most important thing is to look for one without a bevel.  Early on prior to release all you could find was with the bevel – These do work but you have to really work to swipe from the edge for certain actions.  I had a Planar PX 2230 Mw that I was using before I got this and it connected fine but just was a little smaller and clumsy due to the bevel.  The same is true of many of the older all in one computers that offered touch. 

If you are looking for a windows 8 touch monitor I would keep it on the short list.  I do imagine that more touch monitors will be announced and I suspect the price on them will keep dropping as well it just a matter of how patient you are!


It’s a Windows 8 Weekend

I did a few rebuilds this week of my Windows 8 RC machines to Windows 8 RTM.  All went well, I didn’t do any upgrades from Windows 7, and honestly not sure I would.  I generally like the clean break and don’t like to bring over any old stuff. 

Couple things I found useful when doing the installs – first for the //Build Samsung Slate, I used a USB stick to boot from and install the RTM Windows 8 – that didn’t work too well the first time because I didn’t build it with a FAT32 and didn’t disable the UEFI – so despite my effort to get it to boot from the USB it would just ignore it – reading this post I was able to re-build my USB and it worked fine.

Another thing that isn’t real obvious if you install the Windows 8 Enterprise edition it’s a little challenging to activate because it’s expecting to find a volume license server.  For that  used “slmgr” to set the key and activate it. So basically you go to MSDN, grab your key, from an elevated command prompt do a slmgr /ipk <your key here> that sets the key, then do slmgr /ato to activate your copy – you should see a message box confirming.