We are trying to update our application to work with Windows Vista. We upgraded to PDF Converter 2.51d (from 2.08) and it appears to work fine in Windows 2000 and Windows XP, but not Windows Vista.
We are running Windows Vista Ultimate Edition (Build 6000), 32-bit, Running our application as a user with adminstrator rights.
When we run the line of code:
mlPDFPrinterHandle = PDFDriverInit(PrinterName$)
A dialog box with the title "Driver Installation Error" is displayed with the following error message:
"Windows can't install the Amyuni Document Converter 2.51 kernel-mode print driver. To obtain a driver that is compatible with the version of Windows you are running, contact the manufacturer."
The printer does not exist at the point before calling PDFDriverInit(). I am trying to create it using this PDFDriverInit() procedure.
Any ideas on what the issue is? Is 2.51d suppossed to work with Windows Vista?
Windows Vista support for PDF Converter 2.51d ?
Windows Vista support for PDF Converter 2.51d ?
John
Orlando, FL
Orlando, FL
Hello,
Yes, version 2.51-d works with Windows Vista, since version 2.10 the driver is user mode and not kernel mode. If you are getting a message that the driver is kernel mode maybe an old version of the driver is stuck in memory on your system or maybe you are using the old dlls mistakenly, please check that you only have the dlls of version 2.51-d and that no older amyuni drivers are installed on the system.
Are you using a release candidate or the release version of Vista? The driver had installation problems with some earlier release candidates of Vista but it has no problems with the latest manufacturer release.
I suggest that you run Install.exe that you get with the driver and check if the printer installs properly, it should. Then in your application please replace PDFDriverInit by DriverInit()
Please note that under Vista if UAC (User Account Control) is enabled you will be asked for confirmation even if you are an administrator each time you want to lunch an exe or install a program or install a printer, this is why PDFDriverInit may not work.
Yes, version 2.51-d works with Windows Vista, since version 2.10 the driver is user mode and not kernel mode. If you are getting a message that the driver is kernel mode maybe an old version of the driver is stuck in memory on your system or maybe you are using the old dlls mistakenly, please check that you only have the dlls of version 2.51-d and that no older amyuni drivers are installed on the system.
Are you using a release candidate or the release version of Vista? The driver had installation problems with some earlier release candidates of Vista but it has no problems with the latest manufacturer release.
I suggest that you run Install.exe that you get with the driver and check if the printer installs properly, it should. Then in your application please replace PDFDriverInit by DriverInit()
Please note that under Vista if UAC (User Account Control) is enabled you will be asked for confirmation even if you are an administrator each time you want to lunch an exe or install a program or install a printer, this is why PDFDriverInit may not work.
In speaking with Jose in technical support we found out the cause of this.
Cause of "kernel mode" error message:
Turns out that the error message about "Windows can't install the Amyuni Document Converter 2.51 kernel-mode print driver. To obtain a driver that is compatible with the version of Windows you are running, contact the manufacturer." was being displayed because the PDFDriverInit call to the version 2.51d cdintf.dll file was failing, so the Amyuni version 2.51d DLL files where not getting installed to the folders where the installer installs them under:
C:\Windows\System32\spool\drivers\w32x86
acfpdf.txt
acpdf251.dll
acpdfui251.dll
C:\Windows\System32\spool\drivers\w32x86\3
acfpdf.txt
acpdf251.dll
acpdfui251.dll
The reason for the message being displayed was that some old version 2.08 WHERE PREVIOUSLY installed to those folders and since the PDFDriverInit failed to install the new 2.51d driver DLL files, the error about the kernel mode print drivers was displayed.
Once we deleted the old dll files from the above folders (note: sometimes these files are in use because the printer was used or you looked at the Control Panel | Printers applet. In that case you need to restart your machine and delete those files immediately after boot up.
Another issue with Vista, PDFDriverInit, and 2.51d:
Once we cleared up that issue we found that the PDFDriverInit DLL call was failing and returning an error message of "The Printer name is invalid." This error message was not a true indication of the problem.
I had User Account Control (UCA) in Vista turned on. When Windows Vista is installed, UAC by default is turned ON. This means that Vista was configured to use its new security features that are the main new feature of Vista. When UAC is turned on, and a program is run that tries to access system areas like the c:\windows\system32 folder, the user will be asked to confirm if it is ok to perform this action.
Currently PDFDriverInit simply fails if UAC is turned on and the printer does not already exist. The PDFDriverInit call is not triggering the Vista UAC confirmation prompt and is so Windows Vista is simply stopping the PDFDriverInit code from copy the files it needs to.
PDFDriverInit has always been used by us to create the printer if the printer did not exist. We hope to see Amyuni modify this PDFDriverInit function so that it will continue to work for us in this new version.
In our commercial application, the PDFDriverInit has been such an efficient function since it simply creates the printer if it does not exist and simply uses it if it does exist. It does not require the end user to go through extra installation steps to use a single features of our application. If for some reason the previously created printer was deleted (for whatever reason), the next call to PDFDriverInit would recreate it and there would be no problem and no tech support call to us.
We would like to see PDFDriverInit behave the same way as the install.exe. When install.exe is run, the Windows UAC brings up several dialogs asking the user if it is ok to proceed and the end result is that the install.exe succeeds in installing the Amyuni PDF Converter driver DLLs.
Cause of "kernel mode" error message:
Turns out that the error message about "Windows can't install the Amyuni Document Converter 2.51 kernel-mode print driver. To obtain a driver that is compatible with the version of Windows you are running, contact the manufacturer." was being displayed because the PDFDriverInit call to the version 2.51d cdintf.dll file was failing, so the Amyuni version 2.51d DLL files where not getting installed to the folders where the installer installs them under:
C:\Windows\System32\spool\drivers\w32x86
acfpdf.txt
acpdf251.dll
acpdfui251.dll
C:\Windows\System32\spool\drivers\w32x86\3
acfpdf.txt
acpdf251.dll
acpdfui251.dll
The reason for the message being displayed was that some old version 2.08 WHERE PREVIOUSLY installed to those folders and since the PDFDriverInit failed to install the new 2.51d driver DLL files, the error about the kernel mode print drivers was displayed.
Once we deleted the old dll files from the above folders (note: sometimes these files are in use because the printer was used or you looked at the Control Panel | Printers applet. In that case you need to restart your machine and delete those files immediately after boot up.
Another issue with Vista, PDFDriverInit, and 2.51d:
Once we cleared up that issue we found that the PDFDriverInit DLL call was failing and returning an error message of "The Printer name is invalid." This error message was not a true indication of the problem.
I had User Account Control (UCA) in Vista turned on. When Windows Vista is installed, UAC by default is turned ON. This means that Vista was configured to use its new security features that are the main new feature of Vista. When UAC is turned on, and a program is run that tries to access system areas like the c:\windows\system32 folder, the user will be asked to confirm if it is ok to perform this action.
Currently PDFDriverInit simply fails if UAC is turned on and the printer does not already exist. The PDFDriverInit call is not triggering the Vista UAC confirmation prompt and is so Windows Vista is simply stopping the PDFDriverInit code from copy the files it needs to.
PDFDriverInit has always been used by us to create the printer if the printer did not exist. We hope to see Amyuni modify this PDFDriverInit function so that it will continue to work for us in this new version.
In our commercial application, the PDFDriverInit has been such an efficient function since it simply creates the printer if it does not exist and simply uses it if it does exist. It does not require the end user to go through extra installation steps to use a single features of our application. If for some reason the previously created printer was deleted (for whatever reason), the next call to PDFDriverInit would recreate it and there would be no problem and no tech support call to us.
We would like to see PDFDriverInit behave the same way as the install.exe. When install.exe is run, the Windows UAC brings up several dialogs asking the user if it is ok to proceed and the end result is that the install.exe succeeds in installing the Amyuni PDF Converter driver DLLs.
John
Orlando, FL
Orlando, FL
Hi Joan,
That is true that only a user with Adminstrator rights can install printers on Vista. Since Vista requires a user with Administrator rights to be logged in as a requirement to install most software, our application installation instructions will inform the user that they need to be logged in as a user that has Adminstrator rights the first time they use the PDF creating feature (which calls PDFDriverInit).
That is true that only a user with Adminstrator rights can install printers on Vista. Since Vista requires a user with Administrator rights to be logged in as a requirement to install most software, our application installation instructions will inform the user that they need to be logged in as a user that has Adminstrator rights the first time they use the PDF creating feature (which calls PDFDriverInit).
John
Orlando, FL
Orlando, FL