Zorro codes .NET

Saturday, August 05, 2006

Uninstalling WinFX Beta 2 bits....

So I wanted to install WinFX on my Team Foundation Build server to it could build one of my WinFX projects. Ofcourse I first tried to install the version I thought I had on my workstation (WinFX Beta 2). But that didn't seem to work, so I decided to upgrade both my workstation and build server to the latest .NET 3.0 July CTP Release.

Uninstalling on my workstation went smooth, but uninstalling on my build server didn't go so well.

In the uninstall log left by the uninstallation tool it said the following:

=== Verbose logging started: 5-8-2006 09:31:03 Calling process: C:\WINDOWS\WinFX\v3.0\Windows Communication Foundation\ServiceModelReg.exe ===
ServiceModelReg [09:31:04:341]: Information: The ServiceModelReg tool will take the following actions:
Removing configuration section system.serviceModel from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
Removing configuration section system.runtime.serialization from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
Removing configuration section system.serviceModel.activation from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
Removing configuration entry for BuildProvider:
System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Removing compilation assembly node from System.Web section group:
System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
Removing compilation assembly node from System.Web section group:
System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
R...
ServiceModelReg [09:31:04:351]: Uninstalling: Machine.config Section Groups and Handlers
ServiceModelReg [09:31:04:361]: Warning: Configuration section system.serviceModel does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
ServiceModelReg [09:31:04:371]: Warning: Configuration section system.runtime.serialization does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
ServiceModelReg [09:31:04:371]: Warning: Configuration section system.serviceModel.activation does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.
ServiceModelReg [09:31:04:371]: Uninstalling: Xws System.Web Build Provider
ServiceModelReg [09:31:04:481]: Warning: A configuration entry for BuildProvider System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 does not exist.
ServiceModelReg [09:31:04:481]: Uninstalling: Xws System.Web Compilation Assemblies
ServiceModelReg [09:31:04:491]: Warning: All Xws compilation assembly nodes do not exist in System.Web section group.
ServiceModelReg [09:31:04:501]: Uninstalling: Xws Http Handlers
ServiceModelReg [09:31:04:521]: Warning: HttpHandlers node *.svc does not exist in System.Web section group.
ServiceModelReg [09:31:04:521]: Uninstalling: Xws Http Modules
ServiceModelReg [09:31:04:531]: Warning: HttpModules node ServiceModel does not exist in System.Web section group.
ServiceModelReg [09:31:04:541]: Uninstalling: Xws Web Host Script Mappings
ServiceModelReg [09:31:04:741]: Error: System.FormatException: Input string was not in a correct format.


If you have a log file similar, try the following:

In a cmd line go to the following folder: "C:\Windows\WinFx\v3.0\Windows Comunication Foundation", then run "ServiceModelReg.exe -ua". This should manually uninstall the stuck services.

Friday, August 04, 2006

TFS Tip 3 of 10: Building castles.... ehm documentation....

Ok, i know its a bit late, but the first CTP of SandCastle (the Microsoft Documentation Generator) has been released.

SandCastle July 2006 CTP

You might ask what that has to do with TFS? Well, some clever guy already made a MSBuild script for the thing, so we can put it in our TFS nightly build. And as soon as SQL Server 2005 SP1 is installed on my virtual pc, i'm going to implement it in my own project.

Talking about Virtual Servers, i finally figured out why my Virtual Server didn't save my virtual pc when the host operating system shuts down. This article explains why:

Virtual Server Shutdown Stalemate

Wednesday, May 31, 2006

TFS Tip 2 of 10: Shelving is your friend.... or is it?

Ofcourse shelving is one of the better new features in the TFS Source control system. It gives you a good method of saving work in progress on the server (and therefor your back-up...... you do make a back-up of your TFS database don't you?). But, shelvesets on a project that is in its maintenance phase.

Yes i am talking of that phase after release where you fix all the stuff you put a TODO comment on while developing the actual product. Things like:

// TODO: This doesn't actually work but gives a result that looks right.

or

// TODO: IMPORTANT FIX THIS BEFORE RELEASE!!!!

So when you are in your maintenance phase, every build you make should be with the very latest tested code. But who is to say you have the very latest code to test? With Visual Sourcesafe it was easy to spot the checked out files. If files are checked out, there is a big chance someone made changes that you don't have to test. Though i do admit you can usually assume that either the developer isn't finished with his work, or those changes shouldn't be tested anyway. But lets entertain the idea your developer forgot to check in his finished work.

With shelve sets changes are not so easy to spot (lets check all workspaces of all your developers and see if they have shelve sets...). A developer can keep the shelveset checked out but this is not always the case. So, in the maintenance phase, keep your shelvesets checked out, and never forget to check in completed work/shelvesets.

Monday, May 08, 2006

TFS Tip 1 of 10: Enforcing obvious check-in policies without notice....

Being sysadmin, software developer, and Team Foundation Admin at the same time in your organisation makes it easy to roll out a new check-in policy to all your developers (a whopping 5 grand total not including me, hehe....).

Something like this is easily done in an hour or so (if you have the check-in policies source code like i did). And probably only a friday afternoon if you had to write some custom stuff yourself.

Its always nice to hear your co-workers comments when the policy is enforced without telling them, even though they should have been writing comments long before i implemented that policy and there was NO valid reason for them to even recieve the policy warning.

And i just realize I made the title 1 of 10.... now i have to come up with 9 more tips....

Monday, April 24, 2006

SQL Server Collation and Team Foundation

I'm not a guru when it comes to SQL Server Collation settings. I live in the Netherlands so there is no way i will ever need to sort on double width Japanese unicode characters. So when i need to set the collation of a team foundation server installation i do what the installation guide tells me......

Or do I?

So i read the following text in the guide about the collation setting:


The default choice is based on the setting for non-Unicode language in Windows Server 2003. The default for most languages is a Windows collation, however, for U.S. English, SQL Server 2005 installs with a SQL Server collation for backwards-compatibility. If you want to change the collation from the default to get support for additional U.S. English characters, consider Latin1_General.


Now naturaly, wanting the best for my team foundation installation, i want support for adition U.S. English characters. Because i don't need backwards compatibility.

Or do I?

Now after i worked through all the steps of the installation guide. Its time to install Team Foundation. I start the installation, and come to the system health check part. And it says I have a wrong collation setting.....

Lesson learned:

Leave the SQL Server Collation option default, even if the installation guide says you could choose another one.

Thursday, April 13, 2006

Hack your Team Foundation database

I stumbled onto this post by Marcel de Vries:

http://blogs.infosupport.com/marcelv/archive/2006/03/16/4483.aspx

In one of my previous blogs i told you that i had to manually edit some stuff in de database as well (not the WIT database, but the Version Control database). I might not have mentioned the dangers of this in that previous post though.

By some strange leap of faith though, I did actually make a back-up before attempting to hack the database. I guess you think of those things when you have 40 hours of work in a shelve set yourself that you don't want to do again.

Wednesday, April 12, 2006

It's one of those days again!

Do you ever get that. When you are at work you can't wait to get back home and do stuff you want to do. Then when you actually get home, the thing you wanted to do seemed too boring, and now you actually want to get back to work again?

It has been one of those days for me. So what do you do when you are at home bored? Here is what I do:

- Empty your browser's address bar, then hit one random letter on your keyboard and see if there is an interesting website in your history (if none, try a different letter).

- Go to the MSDN Forums and refresh the "My Threads" section about 50 times to see if that brilliant answer you had for some question has finally been read by the person who posted the question.

- Write useless blog entries about what you do when you are bored.