Friday, September 28, 2007

Boy, looking back at the past several months I really haven't done much in the way of keeping my blog up to date.  Perhaps I just needed a reprieve or perhaps it was too much Lord of the Rings Online.  It was probably a combination of the two.  Anyway, I have an update that I want to provide as it's plagued me in the past and been a point of repeated and renewed frustration.

I frequently create custom websites in development and uniquely identify them via a custom host header (entered into IIS either during site creation or after the fact).  Then I'd edit my hosts file to point that host header to my machine.  NOTE: If you use DNS and create a CNAME to the machine none of these problems exist.

When I attempt to open the website via IE 7.0 I am greeted with an authentication dialog box.  None of the credentials I enter will take, and after three tries I get a standard 401.1 (Unauthorized: Logon Failed) HTTP error page.  My first line of defense is to add the host header to IE's list of local intranet sites, but that doesn't have any effect - it still prompts me to log in.  None of my standard debugging techniques seem to yield any meaningful results.

As it turns out, Windows XP SP2 and Windows Server 2003 SP1 both include a loopback check security feature that is designed to help prevent reflection attacks on your computer.  This update causes authentication to fail if the FQDN or custom host header does not match the local computer name.

An article on Microsoft Support identifies this issue and how to work around it.  For my test cases, I tried the first method (”Disable the loopback check”) and that fixed it right off the bat.  Also note, that even though the instructions tell you to, I didn't need to reboot.  A simple IISRESET fixed the issue.

Essentially all I needed to do was edit the registry by creating the following DWORD value and assigning it a value of 1:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck = 1

I suppose that if I needed tighter control I might have opted for method 2 by specifying host names, but such wasn't the case.

I'm glad that got to the bottom of it.

Friday, September 28, 2007 9:02:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Thursday, September 13, 2007
Tonight I'll be out at the Utah .NET User Group giving a presentation on Design Patterns.  I've had the opportunity to present on Design Patterns in years past and thoroughly enjoyed it and I'm really looking forward to tonight.  Come on out and show your support for the community and group and enjoy the free pizza and drinks...oh, and I hope you like the presentation as well.  The event starts at 6:00 PM.  Then afterwards join us for dinner/drinks/dessert at the nearby Denny's off of I-15 and 106 S.
Thursday, September 13, 2007 2:32:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Tuesday, August 28, 2007

I recently had the responsibility of moving an existing, in-use Microsoft CRM 3.0 database from it's current location/domain to an entirely new server on a different domain.  Not only was the target domain different but so was the licensing in that we were upgrading our product code and not using a Small Business Server license anymore.  Oh, and I should also mention that the organization name was also changing within the database.

This process is pretty painless, all-in-all, provided you're careful and pay attention to the goings-on of the process.

First of all, I backed-up the SQL Server databases (company_METABASE and company_MSCRM), archived them, and restored them into the new domain.  I also took the time to remove any schemas and logins from the databases that didn't apply in the new domain.

Then, I followed the instruction as provided by the Microsoft CRM Redeployment Tool (thankfully this existed to facilitate this process) on the CRM 3.0 disc 1 (also available via download here) to map users from the old system into the new domain.

When it came time to associate the new CRM installation with the original databases, however, I received the following error "The existing databases are not compatible with this installation of Microsoft CRM".  This was easily fixed by following the recommendations in a KB article and doing some spelunking on my own.  As it turns out, it wasn't liking the new databases because of an organization name change in CRM.  I also received an error because of the license key because we were moving off of the Small Business Server to another non-Small Business Server and the license keys could not be used together.

The following SQL commands fixed the issues:

UPDATE BuildVersion SET Revision = X (where X == the 3.0.5400.X of the SetupServer.exe product version)
UPDATE OrganizationBase SET Name = 'new organization name'
DELETE FROM License

After that, the installation was smooth as glass and without a hitch.

One thing of note as well once we were up and running.  CRM was operating correctly, but anytime we'd access the Reports section, we were greeted with the error "Report.config has invalid schema, and could not be loaded".  Likewise, when we'd go into the Calendar section we'd get an "Unexpected Error".

The fix for these were to make sure that the CRM 3.0 website and the SQL Reporting Services virtual directories were using the proper ASP.NET Version (1.1.4322).

Tuesday, August 28, 2007 5:56:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [3]  |  Trackback
 Thursday, August 09, 2007

Tonight we're switching up the .NET User Group meeting format somewhat, hopefully to the approval of all.  We're conducting what we're calling a “Presenter's Challenge”.  We're giving the opportunity to 4-5 presenters to take approximately 20-30 minutes each and present on various topics (we have LINQ, Mono, WPF, etcetra already scheduled).  Following the meeting we're giving everyone the chance to vote online for the best presentations.  The winners will be announced and awarded in September.

This should be a blast of an event and I hope it goes well - we'd like to have more variety in the meetings like this in the future.

Date: Thursday, August 9th, 2007
Time: 6:00 PM
Place: Digital Draw Network - Suite 300 (10897 South River Front Parkway, South Jordan, UT)

Don't miss it!

Thursday, August 09, 2007 2:42:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Monday, August 06, 2007

I just recently returned from the Netherlands on what turned out to be an amazing trip.  I wish I had had more time to prepare for the trip; as it turns out, I found out that I was going the day before I departed but I was able to set aside one day last week as a personal day and do some individual exploration.

The first part of the week was spent adjusting to the 8 hour time difference while working with a customer in the town of Eindhoven.  Eindhoven is about 1.3 hrs south of Amsterdam by train.  The entire customer experience was very positive and went very smoothly.

On Wednesday, August 1st, (following the customer on-site) I headed to Amsterdam and stayed at the very nice Mercure hotel on Noordstraat in Amsterdam.  I arrived late in the evening and wasn't able to do much on the first night, but I arose early on Thursday and headed out into the city to explore and see the sites.  One aspect of Holland that I found most endearing and enchanting was the use of bicycles.  They're everywhere.  Everyone ride bicycles; from the young to the old.  It's wonderful.

Following a nice pastry at a local bakery I set off to see Rembrandt's home (see inset).  What an amazing place!  Rembrandt's house has been converted into a museum and restored to what it was like back in the 1600's when he resided there.  Many rooms in the house were converted into galleries exhibiting his wonderful paintings and sketches.  Additionally, on the second floor, a gentleman was demonstrating Rembrandt's etching and mass-printing techniques that were quite remarkable.  The top floor had a few gallery rooms showcasing many of his prints and actual etchings.

Rembrandt's house was, I feel, the highlight of my trip.  I spent a couple hours there taking it all in and enjoying myself.

I then did a bit more exploration through the town, walking through the Dam Square and participating in a magic show on the street in which I chained up the performer (along with the help of Andy from Newcastle, England - also a recruit off of the street who also straight-jacketed him).  Of course (and as part of his show) he escaped from the binds, but it was fun nonetheless.

I am so glad that I had the opportunity to walk the streets of Amsterdam, enjoy the sites, some of the 18 miles of canals in the city, cross some of the 800 bridges, and visit another country.  It was well worth the visit and the time there.

Monday, August 06, 2007 5:39:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [2]  |  Trackback
 Sunday, July 29, 2007

Wow! What a week!

It's been an exciting time of late.  Not only were many things accomplished (and a few plaguing bugs resolved), but I found out Friday (yesterday to me still despite it now being Sunday) that I'd be leaving for the Netherlands (a.k.a. Holland, despite Holland being a pair of provinces of the country) on Saturday for the week.  Well, I'm here now in the town of Eindhoven.  And it's beautiful, though overcast.  I've not been in town but a few minutes so I've not had a chance to get out, but here's a quick photo from my hotel room.

I left Salt Lake at 1:30 PM, arrived in Houston and departed there at 7:10 PM to arrive in Amsterdam at 12:30 PM.  It was so nice to fly business class where I could fully recline the seat, watch movies, have great food, and all-in-all have a great flight.  Then, upon arriving I grabbed the train in the airport to Eindhoven (which was about a 1 hr 20 min ride).  The hotel is only a few blocks from the train station so the walk was nice.

I'll be here all week and I'm looking forward to a great time.

Sunday, July 29, 2007 12:12:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Tuesday, July 24, 2007

I've been developing an ASP.NET application for quite some time now without a single problem and all of the sudden when I attempt to open the project in VS 2003 (it's an ASP.NET 1.1 app) I am greeted with the following dialog box:

I've been coping with the issue for a few weeks as I'm able to simply open the application directly in IE and attach the debugger as necessary.  Something must have changed of which I'm unaware, but this had me confused.  Needless to say, the very first thing I tried upon seeing this message was to register ASP.NET 1.1:

C:\>cd\windows\Microsoft.NET\Framework\v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis -i

Investigating it beforehand with the -lv and -lk revealed that it was indeed already registered with ASP.NET 1.1, but I figured redoing it wouldn't hurt.

When I tried opening the project in Visual Studio, still the problem persisted.

The only solution that I could come up with was to create the file that VS looks for when opening a web project (get_aspx_ver.aspx) explictly in my web application's root, even though it's not expecting to find the file in the first place.

Has anyone else seen that and/or have a better solution?

Tuesday, July 24, 2007 7:09:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [4]  |  Trackback

I was greeted rather abruptly today by an error message that resembled the following:

The module 'XXX' is already in the application and cannot be added again.

This surprised me as I hadn't made any changes to my web.config file's <httpModules /> section.  In fact the module in question is only in my web.config file one time.

I have a web configuration file editor that I had written that updates config files and it automatically adds the <httpModules /> section if necessary, wiring up the httpModule in question. As it turns out, I had inadvertently updated the web.config in my root website which was causing the module to be loaded globally.  Removing the erroneous information from my root web.config file fixed the problem straightaway.

Tuesday, July 24, 2007 6:43:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Sunday, July 15, 2007

This past week was a very quiet one on the blog-front as I was full-time engaged in Denver for an in behalf of Experlogix.  This was my fourth Microsoft Worldwide Partner Conference and it was fantastic.  Since 2004, the WPC's that I've attendend have been in Toronto, Minneapolis, Boston, and this past week in Denver.

We had the great opportunity to have our expo hall booth situated adjacent to the Microsoft booths which was ideal for funneling traffic our way.

It is wonderful to be associated with such an awesome company and work with great people.  I love what I do! :-)

Sunday, July 15, 2007 6:30:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback