Odd file versions for acfpdfu/ui.dll

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
lp
Posts: 66
Joined: Mon Dec 12 2005
Location: Italy

Odd file versions for acfpdfu/ui.dll

Post by lp »

I was trying to integrate PDF converter's drivers into our app's installation.
We have the 2.50f drivers in "production" packages, but are trying to move to the 3.0.
We make use of windows installer (MSI) and need to be Vista-compliant.
Anyway I had a hard time figuring out an issue when upgrading from the old version to the new one (2.5.0.6 -> 3.0.1.1).
When windows installer has to decide whether a versioned resource on the target machine has to be upgraded (and, hence, overwritten), it checks the file version: if the existing file has a "lower" file version, it will get overwritten by the "newer" one from the installing package.

cdintf.dll, for instance, has 2.5.0.6 on the system and i'm installing 3.0.1.1: so it gets upgraded.

But, in my tests I see that acfpdfu.dll / acfpdfui.dll do not get replaced. Why..?

Well, I've then noticed they all have a fileversion=0.3.0.301 (while the previous files had 0.3.0.2506..) and the problem arises from the fact that 0.3.0.301<0.3.0.2506! As you may see, the comparison is not an alpha-numeric one, but only numeric, so all version components match except the build number (the last one), so the version-check sounds like this: "is 301 lower or greater than 2506?"
And the answer is: 301<2506, so the old 2.50 files do not get overwritten by the new 3.0 ones..

The same applies to the acfpdfuamd64.dll / acfpdfuiamd64.dll fileversion.

(There is also another post regarding a similar issue: http://www.amyuni.com/forum/viewtopic.php?t=2039)

What can I do to fix this?

As a side note, why does the versioning schema is different between cdintf.dll and the acfpdf*.dll? Wouldn't it be wise to use the same fileversion for all of them (for example 3.0.1.1 instead of 0.3.0.301)?

Any help is welcome :)
Thank you in advance!
Luke
Joan
Amyuni Team
Posts: 2799
Joined: Wed Sep 11 2002
Contact:

Post by Joan »

Hello,

The versioning of the dlls depends on which version of the driver we are at.
By example if we are at version 3.01 the version of the dll is 0.3.0.1 and if we are at version 2.50f the vrsion of the dll is 0.2.5.0.6

I suggest that you compare both the dates and the file version if possible.

I am adding here the steps to manually do a clean install:
- Unistall the PDF Converter using the Unistaller
- Delete the following files from your system:
acfpdf*.*
cdintf*.*
Please make sure that you are deleting the files corresponding to the version you are unistalling.
eg: if you are unistalling 2.50f you will need to delete cdintf250.dll
- Reboot your system
- Install the new version.

We are going to revise our installer and file versioning in the next major release.
Custom Brand the Amyuni PDF Printer Driver http://www.amyuni.com/en/developer/branding/index.html

Amyuni PDF Converter tested for true PDF performance. View results - http://www.amyuni.com/benchmark
lp
Posts: 66
Joined: Mon Dec 12 2005
Location: Italy

Re: Odd file versions for acfpdfu/ui.dll

Post by lp »

Hello Joanna,
I went back reading again this old topic and wanted to add some info.

I would be glad to check both date/time and version, but I cannot since it's the Windows Installer engine which takes care of that comparison, I have no way to change it...
So -by now- I disabled upgrading from one version to the other: users must remove one version and install the other one..

Another question is: where is the "uninstaller" you talk about?
I'm installing the driver "manually", calling the right sequence of *DriverInit() functions from the DLL interface, but didn't know of such uninstaller (unless you're referring to the "install.exe" method)...
When "manually cleaning" I usually remove the printer and its drivers from the printers control panel.
I found that stopping the printer spooler ("net stop spooler") before deleting the files does indeed help avoiding locked files. I usually take care of closing what might be using printer drivers, first of all the printers control panel :)
When finished it's important to restart the spooler ("net start spooler") .

My 2 cents :)
Have a nice day,
Luke
Joan
Amyuni Team
Posts: 2799
Joined: Wed Sep 11 2002
Contact:

Re: Odd file versions for acfpdfu/ui.dll

Post by Joan »

Hello,

By unistaller I mean when clicking on Start -> Programs -> Amyuni PDF Converter -> Unistall

or you can use Install -u "Printer Name".

stopping and restarting the spooler are needed specially if some driver files are locked or have been in use.
Custom Brand the Amyuni PDF Printer Driver http://www.amyuni.com/en/developer/branding/index.html

Amyuni PDF Converter tested for true PDF performance. View results - http://www.amyuni.com/benchmark
Post Reply