Files to be Included with your LEADTOOLS Virtual Printer Driver Application

After an application is developed and ready to redistribute, create a setup.exe that includes all of the necessary files.

This topic summarizes which files to include on your distribution diskettes to support the LEADTOOLS Virtual Printer functions on WIN32 and x64 systems.

Note: You may not copy or redistribute any of the following files without obtaining the proper license. In some cases, the license is included with your initial purchase of LEADTOOLS. In other cases, you must obtain a license from a third party or enter into a royalty agreement with LEAD to obtain the proper license.

General Notes:

Environment-Specific notes:

Destination directory structure specification:

Use the L_PrnInstallPrinter function to install the LEADTOOLS Virtual Printer Module.  Pass the structure PRNPRINTERINFO to  this function.  The installation path specified in the pszRootDir member of the PRNPRINTERINFO structure is the root folder in which the LEADTOOLS Virtual Printer is installed. This folder should contain two sub-folders:

Note: All users of this printer must have access to the folder passed to the pszRootDir member.

Printer Driver INF installation for Windows Vista and later:

Use the following function to install LEADTOOLS Virtual Printer Driver INF:

#define UPDP_UPLOAD_ALWAYS      0x00000002L 
typedef HRESULT (*pUPLOADPRINTERDRIVERPACKAGE)(LPCTSTR pszServer,LPCTSTR pszInfPath,LPCTSTR pszEnvironment,DWORD dwFlags,HWND hwnd,LPTSTR pszDestInfPath,PULONG pcchDestInfPath); 
typedef HRESULT (WINAPI * pINSTALLPRINTERDRIVERFROMPACKAGE) (LPCTSTR, LPCTSTR, LPCTSTR, LPCTSTR, DWORD); 
L_INT InstallDriverPackage(const L_WCHAR* pszInfPath, const L_WCHAR* pszEnvironment) 
{ 
   L_INT nRet = FAILURE; 
   HINSTANCE hInstance = LoadLibrary("Winspool.drv"); 
   if (hInstance == NULL) 
   { 
      return nRet; 
   } 
   pUPLOADPRINTERDRIVERPACKAGE pUploadPackage = (pUPLOADPRINTERDRIVERPACKAGE)GetProcAddress(hInstance, "UploadPrinterDriverPackageW"); 
   if (pUploadPackage != NULL) 
   { 
      TCHAR szDestInfPath[512]; 
      DWORD dwDestLen = 512; 
      HRESULT hr = pUploadPackage(NULL,A2W(pszInfPath), pszEnviroment, UPDP_UPLOAD_ALWAYS, GetDesktopWindow(), szDestInfPath, &dwDestLen); 
      if(hr == S_OK) 
      { 
         pINSTALLPRINTERDRIVERFROMPACKAGE pInstallPrinterDriverFromPackage = (pINSTALLPRINTERDRIVERFROMPACKAGE)GetProcAddress((HMODULE)hInstance, "InstallPrinterDriverFromPackageW"); 
         if(pInstallPrinterDriverFromPackage != NULL) 
         { 
            hr = pInstallPrinterDriverFromPackage(NULL, szDestInfPath, L"LEADTOOLS VIRTUAL PRINTER", pszEnvironment, 0); 
            if(hr == S_OK) 
               nRet = SUCCESS; 
         } 
      } 
   } 
   FreeLibrary(hInstance); 
   return nRet; 
} 

Install the 64-bit driver package by calling:

     InstallDriverPackage(%Redist%\\DriverPackageX64\\LeadtoolsVirtualPrinter.INF, L"Windows x64");     

Install the 32-bit driver package by calling:

     InstallDriverPackage(%Redist%\\DriverPackageX86\\LeadtoolsVirtualPrinter.INF, L"Windows NT x86"); 

Note: For Network printing, it is possible to install both packages (x86 and x64) on the Server machine in order to support both types of client machines

Required LeadtoolsPrinter.exe files

Required COM Servers

Redistributables

Explanation

Files to use (32-bit)

LPCLB

LEADTOOLS Printer COM server. Should be registered using regsvr32 (regsvr32 LPCLB06N.DLL).

LPCLB06N.DLL

LPCMG

LEADTOOLS Printer COM Server. Should be registered using / RegServer (LPCMG06N /Regserver)

LPCMG06N.exe

LPWSE

LEADTOOLS Printer COM Server. Should be registered using / RegServer (LPWSE06N /Regserver) and unregistered using /UnRegServer (LPWSE06N / UnRegServer).

LPWSE06N.EXE

LPCPN

LEADTOOLS Printer COM server, Should be registered using regsvr32(regsvr32 LPCPN06N.DLL).

LPCPN06N.dll

LPPRNCON

LEADTOOLS Printer COM server. Should be registered using regsvr32 (regsvr32 LPPRNCON.DLL).

LPPRNCON.DLL

LpPrinterThunk.exe

LEADTOOLS Printer COM Server. Should be registered using / RegServer (LpPrinterThunk /Regserver) and unregistered using /UnRegServer (LpPrinterThunk / UnRegServer).

LpPrinterThunk.exe

Required DLLs for Win32 Applications

Redistributables

Explanation

Files to use (32-bit)

LPDRV

Driver DLL

LPDRV06N.DLL

LPUID

Driver DLL

LPUID06N.DLL

LPPMN

Port DLL

LPPMN06U.DLL

LPDRV (64-bit Drivers), needed only for network printers.

Driver DLL

LPDRV06x.DLL

LPUID (64-bit Drivers), needed only for network printers.

Driver DLL

LPUID06x.DLL

Required DLLs for 64-bit Operating Systems (system32)

Redistributables

Explanation

Files to use (32-bit)

LPDRV

Driver DLL

LPDRV06x.DLL

LPUID

Driver DLL

LPUID06x.DLL

LPPMN

Port DLL

LPPMN06x.DLL

LPDRV (32-bit Drivers), needed only for network printers.

Driver DLL

LPDRV06N.DLL

LPUID (32-bit Drivers), needed only for network printers.

Driver DLL

LPUID06N.DLL

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Virtual Printer C API Help