Updating existing printer from 2.1 to 2.5...

The Amyuni PDF Converter is our Printer Driver that enables you to convert any documents to PDF format. If you have any questions about installing and using the Amyuni PDF Converter please post them here.
Post Reply
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Updating existing printer from 2.1 to 2.5...

Post by trumpetinc »

We are updating our application to the 2.5 driver.

As part of our application's update process, we call:

PDFDriverInit(printerName)

using the cdintf.DLL in our application's install directory, then copy cdintf.DLL to cdintf25.DLL

Finally, we call DriverInit(printerName) to make the installation permanent.


This, however, does not appear to update the driver version associated with the printer.

Is there a way to tell whether an existing printer is associated with version 2.1 or 2.5? I don't want to have to uninstall the printer every single time we send out an update for our application (we send out lots of updates, and the printer really only needs to be updated once).

If I can detect that, I can then perform an uninstall using:

PDFDriverInit(printerName)
DriverEnd(printerName)


But that operation is pretty slow, so I don't want to do it any more than the one time.


Any suggestions?

Thanks!

- K
Joan
Amyuni Team
Posts: 2799
Joined: Wed Sep 11 2002
Contact:

Post by Joan »

Hello,

we have a new method in CDIntf :

GetVersionInformation(long* CDIntfMajor, long* CDIntfMinor, long*
PrinterDriverMajor, long* PrinterDriverMinor);

This method will return the version number of both CDIntf and the printer
driver.

Hope this helps.
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Post by trumpetinc »

That will help me get information about the particular DLL that I have loaded, but it will not give me the version info assocaited with a particular printer.

Is there a way, given a printer's name (or printer handle) to determine whether the printer was created with 2.1 or 2.5?

This is going to be quite important for us to be able to properly update our existing users...

Thanks!

- K
Joan wrote:Hello,

we have a new method in CDIntf :

GetVersionInformation(long* CDIntfMajor, long* CDIntfMinor, long*
PrinterDriverMajor, long* PrinterDriverMinor);

This method will return the version number of both CDIntf and the printer
driver.

Hope this helps.
Joan
Amyuni Team
Posts: 2799
Joined: Wed Sep 11 2002
Contact:

Post by Joan »

Hello,

GetVersionInformation retreives both the version of CDIntf and the version of the driver. Here is the detailed description of GetVersionInformation


GetVersionInformation(
long* CDIntfMajor, // CDINTF Major version number, e.g. 2
long* CDIntfMinor, // CDINTF Minor version number, e.g. 1 or 5
long* PrinterDriverMajor, // Printer driver Major version number, e.g. 2
long* PrinterDriverMinor // Printer Driver Minor version number, e.g. 1
or 5


So if you have CDIntf version 2.5 and the PDF Driver version 2.1 installed you will get the following information:

CDIntfMajor = 2
CDIntfMinor = 5
PrinterDriverMajor = 2
PrinterDriverMinor = 1

Hope this helps.
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Post by trumpetinc »

Joan-

So how do I use this function to get information about my specific printer?

Different printers can be associated with different versions of the driver - I need to be able to tell whether my specific printer is at 2.1 or 2.5...

Am I misunderstanding something here?

While we are at it, what is the proper procedure for updating a driver? As an example, if my printer was created using 2.5a and Amyuni releases 2.5b, how do I:

a) Update the driver to the new version? Do I just copy the cdintf250.dll file to the Windows\System32 directory? Or do I have to just re-install the printer (we do NOT use setup.exe - we call PDFDriverInit, DriverInit, then DriverEnd)? Or do I have to uninstall the printer, then do a full install of the printer?

Up to now, I've just been doing a re-install (without the uninstall), and it appears to be working - but with the update to 2.5, doing the re-install (without the uninstall) does NOT update the driver version assocaited with our printer.

b) If I have to uninstall then reinstall the printer whenever there is a print driver update, is there a way for me to determine the minor version of the DLLs associated with a specific printer? Doing an uninstall then reinstall of the printer takes some time, and I'd rather not do it if it can be avoided (obviously, we send out a lot of updates that have nothing to do with the print driver).

Thanks!

- K
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Post by trumpetinc »

Any answer on this???

Thanks much,

- Kevin

trumpetinc wrote:Joan-

So how do I use this function to get information about my specific printer?

Different printers can be associated with different versions of the driver - I need to be able to tell whether my specific printer is at 2.1 or 2.5...

Am I misunderstanding something here?

While we are at it, what is the proper procedure for updating a driver? As an example, if my printer was created using 2.5a and Amyuni releases 2.5b, how do I:

a) Update the driver to the new version? Do I just copy the cdintf250.dll file to the Windows\System32 directory? Or do I have to just re-install the printer (we do NOT use setup.exe - we call PDFDriverInit, DriverInit, then DriverEnd)? Or do I have to uninstall the printer, then do a full install of the printer?

Up to now, I've just been doing a re-install (without the uninstall), and it appears to be working - but with the update to 2.5, doing the re-install (without the uninstall) does NOT update the driver version assocaited with our printer.

b) If I have to uninstall then reinstall the printer whenever there is a print driver update, is there a way for me to determine the minor version of the DLLs associated with a specific printer? Doing an uninstall then reinstall of the printer takes some time, and I'd rather not do it if it can be avoided (obviously, we send out a lot of updates that have nothing to do with the print driver).

Thanks!

- K
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Post by trumpetinc »

Joan - I'm still waiting on an answer to this question - can you please help?

Thanks,

- K

trumpetinc wrote:Any answer on this???

Thanks much,

- Kevin

trumpetinc wrote:Joan-

So how do I use this function to get information about my specific printer?

Different printers can be associated with different versions of the driver - I need to be able to tell whether my specific printer is at 2.1 or 2.5...

Am I misunderstanding something here?

While we are at it, what is the proper procedure for updating a driver? As an example, if my printer was created using 2.5a and Amyuni releases 2.5b, how do I:

a) Update the driver to the new version? Do I just copy the cdintf250.dll file to the Windows\System32 directory? Or do I have to just re-install the printer (we do NOT use setup.exe - we call PDFDriverInit, DriverInit, then DriverEnd)? Or do I have to uninstall the printer, then do a full install of the printer?

Up to now, I've just been doing a re-install (without the uninstall), and it appears to be working - but with the update to 2.5, doing the re-install (without the uninstall) does NOT update the driver version assocaited with our printer.

b) If I have to uninstall then reinstall the printer whenever there is a print driver update, is there a way for me to determine the minor version of the DLLs associated with a specific printer? Doing an uninstall then reinstall of the printer takes some time, and I'd rather not do it if it can be avoided (obviously, we send out a lot of updates that have nothing to do with the print driver).

Thanks!

- K
Joan
Amyuni Team
Posts: 2799
Joined: Wed Sep 11 2002
Contact:

Post by Joan »

Hello,

GetVersionInfromation can not be run to know the version of any printer.

You need to call first PDFDriverInit to install a given printer than call GetVersionInfomration to get the version number of the newly instaslled printer.

Hope this helps, concerning your other question about unstalling the printer programatically i will reply to your other post.
trumpetinc
Posts: 60
Joined: Mon Jul 28 2003

Post by trumpetinc »

Right - that's what I've been saying in my posts here.

As an FYI, having the GetVersionInfromation API call inside cdintf is completely unnecessary - there is already a windows API for determining the version of any DLL.

- K
Joan wrote:Hello,

GetVersionInfromation can not be run to know the version of any printer.

You need to call first PDFDriverInit to install a given printer than call GetVersionInfomration to get the version number of the newly instaslled printer.

Hope this helps, concerning your other question about unstalling the printer programatically i will reply to your other post.
Post Reply