After building the QuadPowerPC and getting it setup with Vista 64, the next step was to get DasBlog building so I could continue development. I installed Orcas Visual Studio 2008 first. Then I realized that I hadn't installed IIS on Vista yet. Doh!
%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/DasBlog2"
%systemroot%\system32\inetsrv\APPCMD.EXE set app "Default Web Site/DasBlog2" /applicationPool:"Classic .NET AppPool"
%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/DasBlog2"Successfully migrated section "system.web/httpModules".Successfully migrated section "system.web/httpHandlers".
<system.webServer> <modules> <add name="UrlMapperModule" type="newtelligence.DasBlog.Web.Core.UrlMapperModule, newtelligence.DasBlog.Web.Core" preCondition="managedHandler" />... </modules> <handlers> <add name="*.blogtemplate_*" path="*.blogtemplate" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" />... </handlers> <validation validateIntegratedModeConfiguration="false" /></system.webServer>
D:\dev\DasBlog\lib>corflags BasicFrame.WebControls.BasicDatePicker.dllMicrosoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.20706.1Copyright (c) Microsoft Corporation. All rights reserved. Version : v2.0.50727CLR Header: 2.5PE : PE32CorFlags : 11ILONLY : 132BIT : 1Signed : 1
Version : v2.0.50727CLR Header: 2.5PE : PE32CorFlags : 11ILONLY : 132BIT : 1Signed : 1
Notice the 32bit: 1 value. Looks like because the company that sells this assembly used Xenocode's Postbuild Obfucastor and it requires a CPU decision. Consequently I pay the price. Kind of lame. However, easily solved because Basic Date Picker has a 64-bit version available for download. I swap it out and check it with corflags...
D:\dev\DasBlog\lib>corflags BasicFrame.WebControls.BasicDatePicker.dllMicrosoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.20706.1Copyright (c) Microsoft Corporation. All rights reserved. Version : v2.0.50727CLR Header: 2.5PE : PE32CorFlags : 9ILONLY : 132BIT : 0Signed : 1
Version : v2.0.50727CLR Header: 2.5PE : PE32CorFlags : 9ILONLY : 132BIT : 0Signed : 1
Still with me? Here's the funny part. It's not the 32BIT Flag that actually indicates if the assembly is 32bit or 64bit. It a property that tries to "insist" that the assembly run in a 32-bit process. You can, sometimes force it back and forth with corflags:
D:\dev\DasBlog\lib>corflags.exe /32bit+ BasicFrame.WebControls.BasicDatePicker.dllMicrosoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.20706.1Copyright (c) Microsoft Corporation. All rights reserved. corflags : error CF012 : The specified file is strong name signed. Use /Force to force the update. D:\dev\DasBlog\lib>corflags.exe /32bit+ BasicFrame.WebControls.BasicDatePicker.dll /forceMicrosoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.20706.1Copyright (c) Microsoft Corporation. All rights reserved. corflags : warning CF011 : The specified file is strong name signed. Using /Force will invalidate the signature of this image and will require the assembly tobe resigned.
Anyway, I recompiled with the 64-bit version and all is well. I'm now running DasBlog compiled under Visual Studio 2008 on Vista 64 running under IIS7. All very smooth. Here's the "It's Not That Scary™ Summary":
So, really, just two steps if I'd been on Vista32 and already had IIS7 installed. Thanks to Richard Lander for all his tips and pointers! If there's mistakes in this post, they are mine, and he'll surely show up and correct them in the comments. :)
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author.
Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.