<i>Three main things: - memory space for printers and sound cards changed in Vista, so when you have some constellation of printers and you change the printer in dialog whole program just crash, because it is trying to touch restricted memory or something.</i><p>Can this functionality be separated out into a different process, or called from a DLL compiled using Visual Studio?