Install update Printer Driver language resource DLL



Hello,

I am writing an installation program for a UNIDRV printer driver. The driver
uses a language resource DLL for several languages to alter the display of
"Printing Preferences" based on the selected language.

For USB installation, generally the process is as follows:
1) pre-install driver files + INF to location on hard drive
2) call SetupCopyOEMInf using the pre-installed INF file
3) Tell user to "connect now", and generally the driver is installed
automatically (except on XP, where user must deal with the Found New Hardware
Wizard)

For a "first time" install this works fine.

However, I want to handle the case where a user may have installed English
Language DLL by mistake and wishes to **REPLACE** the DLL in the
system32\spool\drivers\w32x86\3 folder with say the French Language DLL. But,
I cannot get it to work on Vista or Win2K, though it seems to work on XP.

Here is what I am trying:
1) Pre-install the new version (via SetupQueueCopy), essentially overwriting
the former version in the same pre-install DIR. This works fine.
2) Call SetupCopyOEMInf using the same pre-install DIR as before
3) call UpdateDriverForPlugAndPlayDevices, passing it the location of the
pre-installed INF.

This UpdateDriverForPlugAndPlayDevices function returns "success", however
the language DLL is NOT replaced in the system folder where it makes a
difference to the user.

(NOTE: Using the APW for a non-USB port, e.g. COMx, does not work either!!)

For Vista, the DriverStore does NOT get a new "side by side" installation.

If I modify the DriverVer in the INF file, then it works. But, the version
of each language resource DLL is the SAME (not to mention the time stamps of
each file are the same), and I cannot predict which order a user may do this
in, so there is no point in changing the DriverVer for each language package,
since an older version would never replace a newer version.

The driver is currently NOT digitally signed, and I do not have access to
code-signing tools that I can use for self-signing. So, there is no CAT file
available.

I suspect that **IF** I had a CAT file that was different for each language
version package, then it would probably work. But, as I said, I cannot test
this at the moment because I don't have access to code-signing tools.

Questions:
a. Can anyone verify whether adding self-signed CAT files for each language
version would resolve this issue?

b. Is there something that I am fundamentally missing in my installation
process that is required beyond just calling SetupCopyOEMInf (of course,
after all the various SetupQueueCopy calls)?

c. Is there a better strategy available (and documented somewhere) for how
to handle multi-language resource DLL's in a printer driver from an
installation program and/or INF file perspective?

Thanks,
Rob

.



Relevant Pages

  • Re: Install update Printer Driver language resource DLL
    ... I would install _all_ language DLLs in the package and then choose among ... I am writing an installation program for a UNIDRV printer driver. ... the language DLL is NOT replaced in the system folder where it makes a ...
    (microsoft.public.development.device.drivers)
  • Re: Install update Printer Driver language resource DLL
    ... How does UNIDRV select the language DLL at run-time? ... I am writing an installation program for a UNIDRV printer driver. ...
    (microsoft.public.development.device.drivers)
  • Re: Maxtor SATA Primary & WinXP...Wont install...
    ... That's how I managed to "misplace" the driver cd & manual for my brand ... It's an ASUS P4S800D-X + my hubby bought me a new MAXTOR SATA ... "Setup did not find any hard disk drives installed in your computer. ... Early in the installation of Windows XP you will see a brief message ...
    (microsoft.public.windowsxp.hardware)
  • scsi vhci driver and QLA2310, multi-path
    ... Hello I have installed qla2310 adapter in sunfire with solaris 8. ... the installation of driver for QLA2310 there I can see disks on the ... more than one path to the disk. ... SFS_base_packages.S8.tar.Z in which is vhci driver but it was not ...
    (comp.arch.storage)
  • scsi vhci driver and QLA2310, multi-path
    ... Hello I have installed qla2310 adapter in sunfire with solaris 8. ... the installation of driver for QLA2310 there I can see disks on the ... more than one path to the disk. ... SFS_base_packages.S8.tar.Z in which is vhci driver but it was not ...
    (comp.sys.sun.hardware)

Quantcast