Help Installing Printer for 95/98/NT

Are there any differences in the way that printers are installed in NT vs
95/98 ?
This code sometimes works.  I'm not sure what the difference is.  I have a
user logged in with administrator equivelance and is will work one time and
not the other.  Help!
Thanks, -DEK

GetPrinterDriverDirectory('','',1,@pdir,sizeof(pdir),tbytes);
dest_directory := strpas(pdir) + '\';
copyfile('dfpdrv.dr_','dfpdrv.drv');

di.cVersion := 1;
di.pname := 'Tiff Printer';
di.pEnvironment := 'Windows 4.0';
di.pDriverPath := PChar(dest_directory+'dfpdrv.drv');
di.pDataFile := nil;
di.pConfigfile := nil;
rc := AddPrinterDriver('',2,@di);

pi.pServerName := '';
pi.pPrinterName := 'Tiff Printer';
pi.pShareName := '';
pi.pPortName := 'LPT1:';
pi.pDriverName := PChar(dest_directory+'dfpdrv.drv');
pi.pComment := '';
pi.pDEVMODE := @pd;
pi.pSepFile := '';
pi.pPrintProcessor := 'WinPrint';
pi.pDataType := 'RAW';
pi.pParameters := '';
pi.pSecurityDescriptor := nil;

pd.dmDeviceName := 'Tiff Printer';
pd.dmSpecVersion := 1;
pd.dmDriverVersion := 1;
pd.dmsize := sizeof(pd);
pd.dmDriverExtra := 0;
pd.dmFields := 0;
ph := AddPrinter('',2,@pi);
PrinterProperties(handle,ph);

ClosePrinter(ph);