Exemplo n.º 1
0
        private bool InstallPrinterDriver(ref DRIVER_INFO_6 printerDriverInfo)
        {
            bool printerDriverInstalled = false;

            printerDriverInstalled = NativeMethods.AddPrinterDriver(null, 6, ref printerDriverInfo);
            if (printerDriverInstalled == false)
            {
                Console.WriteLine("Could not add clawPDF printer driver. " +
                                  String.Format(WIN32ERROR, Marshal.GetLastWin32Error().ToString()));
            }
            return(printerDriverInstalled);
        }
Exemplo n.º 2
0
        private bool InstallclawPDFPrinterDriver()
        {
            bool clawPDFPrinterDriverInstalled = false;

            if (!IsPrinterDriverInstalled(DRIVERNAME))
            {
                String driverSourceDirectory = RetrievePrinterDriverDirectory();

                StringBuilder nullTerminatedDependentFiles = new StringBuilder();
                if (printerDriverDependentFiles.Length > 0)
                {
                    for (int loop = 0; loop <= printerDriverDependentFiles.GetUpperBound(0); loop++)
                    {
                        nullTerminatedDependentFiles.Append(printerDriverDependentFiles[loop]);
                        nullTerminatedDependentFiles.Append("\0");
                    }
                    nullTerminatedDependentFiles.Append("\0");
                }
                else
                {
                    nullTerminatedDependentFiles.Append("\0\0");
                }

                DRIVER_INFO_6 printerDriverInfo = new DRIVER_INFO_6();

                printerDriverInfo.cVersion        = 3;
                printerDriverInfo.pName           = DRIVERNAME;
                printerDriverInfo.pEnvironment    = ENVIRONMENT;
                printerDriverInfo.pDriverPath     = Path.Combine(driverSourceDirectory, DRIVERFILE);
                printerDriverInfo.pConfigFile     = Path.Combine(driverSourceDirectory, DRIVERUIFILE);
                printerDriverInfo.pHelpFile       = Path.Combine(driverSourceDirectory, DRIVERHELPFILE);
                printerDriverInfo.pDataFile       = Path.Combine(driverSourceDirectory, DRIVERDATAFILE);
                printerDriverInfo.pDependentFiles = nullTerminatedDependentFiles.ToString();

                printerDriverInfo.pMonitorName     = PORTMONITOR;
                printerDriverInfo.pDefaultDataType = String.Empty;
                printerDriverInfo.dwlDriverVersion = 0x0001000000000000U;
                printerDriverInfo.pszMfgName       = DRIVERMANUFACTURER;
                printerDriverInfo.pszHardwareID    = HARDWAREID;
                printerDriverInfo.pszProvider      = DRIVERMANUFACTURER;


                clawPDFPrinterDriverInstalled = InstallPrinterDriver(ref printerDriverInfo);
            }
            else
            {
                clawPDFPrinterDriverInstalled = true; // Driver is already installed, we'll just use the installed driver
            }

            return(clawPDFPrinterDriverInstalled);
        }
Exemplo n.º 3
0
 internal static extern bool AddPrinterDriver(String pName,
                                              int Level,
                                              ref DRIVER_INFO_6 pDriverInfo);