It turned out that just before it creates the service the setupbuilder project adds some Firewall settings. This caused the setup to stop/ crash on Windows 2000 at that point so it never reached the service installation. Obviously there is no Windows firewall on Win2000, but I assumed SB would handle this internally. I have now added a Windows version check and it runs fine. However, it still seems I need to reboot in order to start the service since it depends on DLLs being available in path and for some reason it doesn't detect these changes without a reboot. Could the Firewall issue also be a problem on the earliest releases of Windows XP (i.e. pre-SP2)?