Web Services and Web References

When consuming a web service in .NET there are two main techniques for accessing the web service. The first is to use a web reference. The second is to use wsdl to create a proxy class.
For some strange reason Microsoft exams prefer the first.

However I would recommend the second. This is far easier (via a subclass) to create a proxy that explicitly requires the url to be specified. This came in handy on a project that communicates to many instances of a second app via web services. We have the one web service that is instantiated at a number of locations. By parameterising the web service we are able to allow the user to specify the location of the web service and to choose between them at run time.

Microsoft and Installers

Microsoft are not very good at writing installers.
If you try to install MSDE on a machine that is not a print or file server then it will take a long time to install, fail silently and fully roll back.
MSI is a ridiculously complex piece of technology. It fails to acheive the basics of informing the user what is wrong when things go wrong.

Visual Studion.NET 2003 has a “great” tool for producing msi installers. It is almost an example in how to be counter-intuitive. For example in order to install a .NET service you need to add the two installer components to the service, add a custom task and then add the service (that is already part of the installation) to the four events (install, &c). Failure to do this can have interesting effects; it is possible to install a service, change the installer so that it is no longer recognised for uninstall and result in multiple reboots plus deletion of parts of the registry to uninstall a service. Why can’t you force the removal of a service using the Service manager? This could easily be locked down to admins only.

Why does .NET make configuring COM servers and services so difficult. Delphi builds registration into the appropriate code so that they can self register/unregister. This makes so much sense – you can never be left with an exe that you can’t uninstall.


I am not sure how much XP is an upgrade over Windows 2000.
OK it may have a little better hardware support but I don’t see the
user interface shift (which I try hard to switch off) as being any benefit.
The product activation code is a pain in the backside – I refuse to do so for XP itself.