I can confirm Allen's experiment. If I put in catc for name of printer in the vbs coding, the registry will show it as CatC which is what I named the printer in this test. Thats why the VBS works, because it changes the case to whatever the actual case of the printer is.

To Lonkero, testing on my computer reveals that the program doesn't care whether the name is upper or lower case, it is only interested in matching the case identically. so if the printer name is CatC, then thats what I need to put in the setdefaultprint coding. so its not just the name of the server - in my clients case, the name of the printer just happened to be in the correct case by co-incidence, it was the server name that was in the wrong case.

With regards to whether setdefaultprinter should be modified to take this issue into account, I must leave to yourselves to decide. If I am the only person in over a decade that has an issue with setdefaultprinter, then I do not see the value in modifying the setdefaultprinter function.

I am quite happy to use the vbs coding so that I don't have to worry about case sensitivity. I did mention in an earlier post that Kixtart could consider deprecating setdefaultprinter in favour of the vbs coding. But thats up to you. Now if I could find the cause of my having to login twice every single time onto the Kixtart forum, I will be chuffed.

thanks for all the input. We got there eventually lol