I am having an enormously frustrating time trying to get DYMO Labelwriter software\driver packaged. (Packaging signed\unsigned USB drivers seems to be a frequent nightmare lately). This is despite using tools such as "signtool.exe", "dpinst.exe", etc.

The problem with packaging the drivers\software for this device is quite simply this: The application is packaged using simple snapshot method. The device driver is added into the package (have tried several methods -> Device Driver Wizard in Installshield, Custom Actions calling either signtool or dpinst, adding the files manually, adding registry settings manually). The msi is installed on atest PC. Log in as test (restricted) user. Connect the Labelwriter machine to a USB port. After a few seconds a login screen pops up so that the user can log in as the administrator. However, if I am logged in as the administrator, and try the same, then I am also prompted to install the drivers (as if nothing has been installed).

Any suggestions.......anybody?

0 Comments   [ - ] Hide 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.
Answer this question or Comment on this question for clarity


Sounds to me like your snapshot package may be including driver related files/settings and then your subsequent attempts to use (say) dpinst may be in conflict with these.

This is generally the method I personally adopt when packaging drivers.

1) locate the .INF file which the legacy installation uses to install the drivers. Inspect this file in notepad and work out all the files that the driver requires to be installed. This could be as little as a .SYS file, a .CAT file (assuming the driver is signed) and of course the .INF file itself. There may, however be more files (such as DLL's) that are mentioned in the .INF - the key thing here is to get a full list of the files the driver needs.

2) In the MSI package you are developing, create a separate folder named (say) DriverFilesFolder and locate this as a subfolder of the main application folder (e.g. C:\Program Files\Dymo\DriverFilesFolder).

3) Next create a new component named (say) DriverFiles. Move all the files that you listed from step 1) above into this component and set one of them as the keypath for the component - I usually mark the .SYS file as the keypath. The destination of this component should be the folder you created at step 2)

4) Next include the DIFx 2.0 Merge Module into your MSI package - it's named DIFxApp.msm and you should already have this if you downloaded the DIFx tools - if not, try this link

5) Incorporating this merge module will, among other things, have introduced a new table into your package, named MsiDriverPackages, you will need to edit this table directly (e.g. use Direct Editor in InstallShield, or use ORCA). In the Component column, you need to enter the name of the component you created in step 3) above. If the drivers are signed (i.e. you have a .CAT file) then you can set the Flags column to 0, otherwise you could use 8 for "legacy mode", more of which later. The Sequence column can be left blank - it's only used if you are installing several separate drivers and want to control the order they are installed in.

6) That should be all that is needed for DIFx to "do it's thing". You should now go through the rest of your snapshot package removing anything else that is driver-related this would include.

(i) any other instances of the .INF file, typically being deployed to the INF folder
(ii) any other instances of the .SYS file, typically being deployed to the System32\Drivers
(iii) any other instances of files you listed in step 1) other than those you have put into your new component.
(iv) any .PNF files that your capture picked up
(v) anything in the registry under HKLM\SYSTEM\CurrentControlSet\Enum\Root or HKLM\SYSTEM\CurrentControlSet\Enum\USB

A final word on legacy mode for DIFx 2.0. I think if your drivers are unsigned, then when a non-admin user plugs the device in for the first time, you will still get a prompt for administrator credentials - but the rest of the installation should require no further interaction if you have managed to get all the above working. With signed drivers, this isn't an issue.

Good luck and hope this helps

Answered 07/26/2006 by: spartacus
Black Belt

Please log in to comment
Thanks Spartacus, I will double check whether there are any conflicts and also try the DIFx 2.0 Merge Module.

Answered 07/27/2006 by: laupiais
Senior Yellow Belt

Please log in to comment
Hi laupiais,

basically you have two problems:

1. Dymo doesnt provide signed drivers (and they are not going to, checked with their Helpline), thats why you are "asked" to log in as an Admin. Difxapp won't help you (didnt help me).

2. Since we are talking about USB you are snapshotting Your USB Settings, which might be quite different from your users.
Your Snapshot should work on One of your USB Ports without reinstalling the drivers (you are still prompted to log in as an Admin to confirm the "found new hardware").

If you had enough sleep lately you can then try to use a different USB Port...%-))

I devided the Installation into Driver and Software, cause new Scanners need new Drivers but not allways new Software.
Well, since some Service Guys deliver the Hardware, we deploy the Software, the Service Guy connects the
Scanner, confirms the "found new Hardware" Prompt, and tells the User not to change the USB Port.

Answered 08/02/2006 by: laszlo
Senior Yellow Belt

Please log in to comment

I think your suggestion to divide the installation into separate Driver and Software packages makes a great deal of sense.

I would, however, still suggest using DIfx (via the merge module) because my own experience is that this always works, irrespective of whichever USB port is used for the device. The one caveat is that you will still get the admin credentials prompt when the hardware is attached, if the drivers are unsigned.

The only way around this latter issue (and to avoid the need for assistance by an engineer) would be to relax the Driver Signing policy - easy to do interactively, but very tricky programmatically. I think this is by design.

Answered 08/03/2006 by: spartacus
Black Belt

Please log in to comment
I am also facing a similar issue with the package WinTV. I tried almost everything with DIFX but no luck.
Answered 08/03/2006 by: Lillude
Senior Purple Belt

Please log in to comment
Hi laupiais,

Try install "DYMO Label Software 7.5 (" from "http://www.labelvalue.com/dymo-software.php".

Get the drivers from "%ProgramFiles%\DYMO Label\Drivers"
The drivers seems to be signed correct and passed through the Signability tool.

Signability v2.18 (engine v01.01.0000)
Test Results for C:\Temp\DYMO LabelWriter 7.5\Drivers
Testing versus the following operating systems:
Windows 2000
Windows XP (32-bit)
Windows Server 2003 (32-bit)
Final result: Test passed.

Answered 08/04/2006 by: AngelD
Red Belt

Please log in to comment