>I try to print on different printers, those printers aren't local, they are network printer. I tried 'Set printer to name \\PrinterPath' and it worked only if the printer is installed. Is there a way to print without installing all the printers.
>
Not safely; if they all use the same print driver, you can install one of the network printers under Windows to a port mapped locally, and then use any of a number of mechanisms to assign the remote printer to a local port (the Win32 API WNetAddConnection3() call can assign a remote device to a local port; you'd need to disconnect anything assigned there using WNetCancelConnection() before reassigning, you can use Novell's CAPTURE in NetWare environments, or my preferred mechanism, the WSH's Wscript.Network object, which has several methods that might be useful. See my NETRESOURCE class in the file section for sample WntAddConnection3() code, or the WSH site link in my .sig for that resource set.)