I have written a (Windows XP) driver with a corresponding .inf file that can be used in the standard way: Control Panel's Add Hardware.
However, "Add Hardware" is interactive and now I would like to automate this (preferrably using NSIS).
Is this possible? Does NSIS have built-in API for handling drivers?
If so, where do I look?
Thanks,
Victor
Does NSIS support driver installation?
10 posts
I don't know try this.
Check out DPInst, this is according to our experience the best choice - especially when you plan on having your drivers installed on Vista etc.
Originally posted by TheresiasThanks. I was unaware of the existence of DPInst. My initial search yielded this:
Check out DPInst, this is according to our experience the best choice - especially when you plan on having your drivers installed on Vista etc.
Driver Package Installer (DPInst)
Find official documentation, practical know-how, and expert guidance for builders working and troubleshooting in Microsoft products.
msdn2.microsoft.com/en-us/library/ms790308.aspx
I was not sure whether it supports totally quiet mode (i.e. not even a single dialog prompting the user), but then I found this:
Setting DPInst Configuration Flags
Find official documentation, practical know-how, and expert guidance for builders working and troubleshooting in Microsoft products.
msdn2.microsoft.com/en-us/library/ms791062.aspx
Could you confirm my understanding that it supports totally quiet installation?
Thanks also to Joel who provide the link to InstDrv. I will take a look at it too.
Victor
Depending on the actual OS a fully quite installation would need signed and verified drivers I guess - not sure if you are willing to pay M§ for that. 🙂
For my/our purposes DPInst is just fine, so we ended up using that instead of InstDrv which had problems on Vista in our case.
For my/our purposes DPInst is just fine, so we ended up using that instead of InstDrv which had problems on Vista in our case.
Originally posted by TheresiasOf course. Thanks for the clarification.
Depending on the actual OS a fully quite installation would need signed and verified drivers
Originally posted by TheresiasI believe that I will eventually switch (for the same reasons as yours) to DPInst. For now I am looking into InstDrv since I already have an NSIS script for the entire package that I am writing (which includes a driver).
For my/our purposes DPInst is just fine, so we ended up using that instead of InstDrv which had problems on Vista in our case.
Do you happen to know what drvHWID in InstDrv's InstDrv::InitDriverSetup means?
Is it the same thing as what's under HKLM\SYSTEM\CurrentControlSet\Enum?
Thanks,
Victor
Never mind. InstDrv turned out to be a total waste of time for me. Its documentation is not that great either.
I am going to try DPInst now. It is also a better investement (I do intend to eventually target Vista as well, not only XP).
Thanks,
Victor
I am going to try DPInst now. It is also a better investement (I do intend to eventually target Vista as well, not only XP).
Thanks,
Victor
Hello,
I have a problem with installing drivers on windows 2k.
Our setup installs driver from windows 2k up to vista, so we tried to use DPInst from the DIFx (part of WDK 6000).
An older version of the setup used the Inst_Drv plugin (SetupOEMInf) for installation. Switched for vista compatibility.
It works fine for xp/vista, but on 2k it has a strange behaviour. If an older version of the driver is installed (eigher SetupOEMInf or DPInst) DPInst will not install the newer driver. You have to uninstall the old driver first. I tried the SetupUninstallOEMInf (or similar) until i saw, that api function does not exist in windows 2k. A manual check of the driver version (which works) and then force DPInst to install the driver will only install the driver for a plugged device. Every other devices will still use the old driver.
Continue using of the Inst_Drv plugin for windows 2k setup seems to end in not installing the driver at all.
I'm at the end of ideas.
I hope one of you can help me with this problem
I have a problem with installing drivers on windows 2k.
Our setup installs driver from windows 2k up to vista, so we tried to use DPInst from the DIFx (part of WDK 6000).
An older version of the setup used the Inst_Drv plugin (SetupOEMInf) for installation. Switched for vista compatibility.
It works fine for xp/vista, but on 2k it has a strange behaviour. If an older version of the driver is installed (eigher SetupOEMInf or DPInst) DPInst will not install the newer driver. You have to uninstall the old driver first. I tried the SetupUninstallOEMInf (or similar) until i saw, that api function does not exist in windows 2k. A manual check of the driver version (which works) and then force DPInst to install the driver will only install the driver for a plugged device. Every other devices will still use the old driver.
Continue using of the Inst_Drv plugin for windows 2k setup seems to end in not installing the driver at all.
I'm at the end of ideas.
I hope one of you can help me with this problem
Originally posted by vc6This is the Hardware ID that Windows will use to install drivers, you can also use the Compatibility IDs. This is easily found in the details tab of the Device's Properties page in Device Manager and in the INF file of the driver.
Do you happen to know what drvHWID in InstDrv's InstDrv::InitDriverSetup means?
---
In my opinion, the InstDRV plugin isn't completely bad, it does have its shortcomings and quirks, but it's usable. Heck, I use it now, but I should really move on to DPInst.
Yes, I know this a 2 month old topic.
[off topic] Its actually 16 months old 😱 .