Hi all. This is my first post. It's good to be here.

I'm currently packaging the Deskey DK3 dongle drivers (downloadable from the website). I'm installing them using the Difx merge module. Apparently (according to the latest release documentation) the drivers are meant to be digitally signed. When I run sigverif, nothing gets reported so I gather they are digitally signed. However, I'm not sure if they're 'properly' signed because there is no .cat file present.

I'll tell you what I've worked on up to now, and my successes and failures.

The package contents are:
Windows/Inf/dk3usb.inf
Windows/inf/dkpccard.inf

Windows/System32/Drivers/dk3usb.sys
Windows/System32/Drivers/dkpccard.sys
Windows/System32/Drivers/dk3drv.sys (a driver service)

Windows/System32/{several .dlls, a .cpl etc etc)


Attempt 1:

Placed dk3usb.inf/dk3usb.sys into [ProgramFilesFolder]DeskeyDrivers/dk3usb (same component, inf as keypath)
Placed dkpccard.inf/dkpccard.sys into [ProgramFilesFolder]DeskeyDrivers/dkpccard (same component, inf as keypath)

Set flag to '7' in MsiDriverPackages table.

Result: Rollback. Setupapi.log says driver dk3usb isnt digitally signed or not signed correctly.

--------------------------------------------------------------------------------------------------------------------

Attempt 2:

Placed dk3usb.inf/dk3usb.sys into [ProgramFilesFolder]DeskeyDrivers/dk3usb (same component, inf as keypath)
Placed dkpccard.inf/dkpccard.sys into [ProgramFilesFolder]DeskeyDrivers/dkpccard (same component, inf as keypath)

Set flag to '8' in MsiDriverPackages table.

Result: Driver installs ok. However at the end of 'New Hardware Found' wizard (after plugging in usb device) it says 'A service installation section in this INF is invalid'. I'm not sure why this occurred. Tried rewriting parts of the INF but no luck.

------------------------------------------------------------------------------------------------------------------------------

Attempt 3:

Placed dk3usb.inf into [ProgramFilesFolder]DeskeyDrivers/dk3usb
Placed dkpccard.inf into [ProgramFilesFolder]DeskeyDrivers/dkpccard

Left dkpccard.sys and dk3usb.sys in default (System32/drivers) folder.

Set flag to '8' in MsiDriverPackages table.

Result: Driver installs ok. No 'INF' file errors.


My Questions:

1) Although my Attempt 3 isn't the proper practise as outlined in some threads on this forum, is the method actually ok to use?
2) Naturally, I have issues when a restricted user plugs in the USB dongle. They need administrative priveldges. Is the only way I can get around this to request WDK from Microsoft and sign the driver myself?

Your help is much appreciated.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
From what I can see the (latest (?)) v2.2.0.3 DK3 drivers downloadable at

http://www.deskey.co.uk/downloads/dk3wn32_2.2.0.3.exe

extract out an INF file named, dkpnp.inf (not dk3usb.inf or dkpccard.inf) - perhaps you are working on a different version of the driver ?

Anyway, dkpnp.inf contains the following line

[font="courier new"]CatalogFile.NTx86=dk3pnp32.cat

indicating that the drivers are signed, and in fact I managed to find the dk3pnp32.cat file in C:\WINDOWS\INF\DESKEY when I installed the drivers using the vendors executable.

I notice in the release notes for this driver that the vendor mentions a silent install switch and my investigations show that if you use the following command :

dk3wn32_2.2.0.3.exe /s

then the drivers are installed with no user interaction - perhaps this method will save you the trouble trying to get DIFx to work ?

Regards,

Spartacus
Answered 06/22/2008 by: spartacus
Black Belt

Please log in to comment
0
Mmmm. That's strange. That's the exact same driver I'm working on. However, I'm not getting your results (even after downloading the driver from the link you provided).

"extract out an INF file" - How are you doing this? I presumed it was a self extracting executable, however Winzip 9.0 couldn't open it.

"C:\WINDOWS\INF\DESKEY " - I've search for this folder post install of the executable and I don't have this folder present??? It's not hidden either, I've checked this. I'm installing on an XPSP2 vanilla build.

Thanks.
Answered 06/23/2008 by: captain_planet
Third Degree Brown Belt

Please log in to comment
0
Your findings really puzzled me at first .. until I realised that the test I did was on Windows Server 2003 and not Windows XP [:)]

After installing on Windows Server 2003, you see the file dk3pnp.inf in the C:\Windows\Inf\Deskey folder and also the file dk3pnp32.cat is copied to the same folder. This doesn't happen on Windows XP (as you rightly point out).

It seems like the vendor's installer logic is different for the two Operating Systems - sorry for any confusion caused.

Did you try the running the vendor's executable with the /s qualifier, by the way ?

Regards,

Spartacus
Answered 06/23/2008 by: spartacus
Black Belt

Please log in to comment
0
I tested the install using the /s switch. It partially installs the drivers ok, but when I plug the device in from a restricted user account it attempts to throw up the 'Add New Hardware' dialog. In doing this, it prompts the user for admin credentials and, upon not entering admin credentials, you get a permissions error dialog and the driver doesnt install. Not sure where to go with this....unless maybe I get hold of the .cat files etc and try to install it via DifX as a signed driver? Not sure if this would help.....
Answered 06/23/2008 by: captain_planet
Third Degree Brown Belt

Please log in to comment
Answer this question or Comment on this question for clarity