I’ve been doing a lot of work with azure lately. Its been fun but annoying at the same time. The fun part is putting the apps in the cloud and watching the magic happen. The annoying part is when developing on a 32 bit machine and everything works fine in the emulator, but then moving it to the 64 bit azure cloud and not getting any useful data back about why your service or app isnt running.
As first i was at a loss because even with all the debugging and blobs enabled it wouldn’t tell me the error since the service never actually ran. Then i got the smart idea of loading a 64 bit server in a VM on my 32bit host machine…. While this was a good idea I had some inital issues. The first thing i did was saw there was a RC for Server 2012 available on MSDN. So I downloaded the VHD for Hyper-V, Even though im not using Hyper-V, and started to fiddle. This is when the issues started to arise.
1) Virtual PC, Doesnt like 32bit host running a 64 bit guest. -sooooooo alright then. Moving on.
2) Virtual Box, Can load a vhd image without any changes. YAY, i thought but it kept crashing on load.
3) VMWare Player. worked like a charm. I had to convert the vhd to a vmdx or whatever it was but it worked out fine.
With the third option i went ahead and loaded visual studio on to the machine and also sql server management studio and everything was great. Since we use source control i just connected to the TFS server and then loaded my project, then their it was….The dreaded error that i was using 32bit dlls with my production 64bit service. It never occurred to me since it was working fine on my 32 bit machine. While this worked well for a while sharing my ram and CPU between my host and my VM became an issue. My performance suffered on the VM drastically the more i worked. So I naively booted instead from a VHD. The trials and tribulations of this will be in the next post.
Pingback: Native Boot A VHD, from not working to working | Programming Life