pHROZEN gHOST Posted April 12, 2005 Posted April 12, 2005 This is a really dumb question. I've looked around the forum and have not really found anything close to it.I have 300 PCs running Windows XP embeded (yes, all legitimately lisenced thru MS). I want to install a USB to serial adapter (Prolific 2303 chipset). I have and can load remotely the driver (ser2pl.sys) and the INF (ser2pl.inf) - prior to hardware install so that the INF is in the c:\windows\inf directory and the SYS is in the c:\windows\system32\drivers directory. When the hardware is plugged in, Windows' New Hardware Wizard comes up knowing it is a Prolific device. It finds the INF file. But it wants to know where the driver is.The driver is where it should end up but maybe not where it SHOULD be. How do I tell NHW to "go look here...and don't ask me for input"? Is there a special directory or a script/setting to tell it about the driver?BTW, the PCs do not have a shell. They run a single purpose dedicated program. The new hardware wizard should just go to where the driver is and install it - unattended like. There must be a way to tell new hardware wizard "Hey NHW, look over here and don't bug me". The actual hardware (USB/serial adapters) is going to be installed by numerous non-technical people. I really want a plug and play solution - even if a reboot is required. I know this is probably trivial for someone out there but it's got me treed.
X-Savior Posted April 12, 2005 Posted April 12, 2005 Hi There,I have spent a long time with this and have helped develop a solution for this... B) Hope it helps.http://www.msfn.org/board/index.php?showtopic=41841This has been a HUGE breakthrough in Integrating Drivers and creating your own CAB and have windows think it is apart of windows.
pHROZEN gHOST Posted April 12, 2005 Author Posted April 12, 2005 Hello X-Savior,That does not really solve my problem. Here is the dillema I face...I have 300 devices (PCs) already with Windows XP embedded installed and located remotely. They are on a dedicated network. Software, including application and the driver I wish to install can be downloaded via the network.I want to load the driver (SYS) into c:\windows\system32\drivers.I want to load the INF file into c:\windows\infWith this arrangement, I am soooo close to having an unattended install. Plugging in the device causes the new hardware wizard to find the INF file but it does not know where to find the actual driver. I have to manually install the driver by telling the dumb wizard where it is.Is there some way to tell the new hardware wizard, "Here it is (C:\WINDOWS\SYSTEM32\DRIVERS), don't bother to ask me anything, just install it"?The driver came with an install disk. On a normal PC the driver can be installed by running an installer. Nothing much appears to happen. But when the device gets plugged in, as if by magic, the install happens without further human imntervention.It appears that the new hardware wizard has been educated.
erik_demon Posted April 12, 2005 Posted April 12, 2005 As X-Savior already said, we are currently working on a method to do something simulair...Is there some way to tell the new hardware wizard, "Here it is (C:\WINDOWS\SYSTEM32\DRIVERS), don't bother to ask me anything, just install it"?... And this is the only problem that we still have ATM A solution would be very welcome!!
X-Savior Posted April 12, 2005 Posted April 12, 2005 Well Said Erik! We have spent a LONG time with this. From what our Research tells us is that the drivers MUST be integrated into windows PRIOR to install. This way Windows thinks that they were ALWAYS there. As far as EXISTING OS's, the only think I can think of is what Erik is currently working on. If you replace the DRVINDEX.INF post install. It MIGHT work if you create a CAB with your drivers and add the INF to the INF folder and then Modify the DRVINDEX.INFWHat do you think Erik? Might it work?
pHROZEN gHOST Posted April 13, 2005 Author Posted April 13, 2005 Hi X-Savior and Eric,Here is what I have been able to do (before you plug the device in):1) put the driver (SYS) in a known directory (create one even - c:\windows\OEM_drivers)2) put the INF file in c:\windows\inf3) modify the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath from this --> %SystemRoot%\Inf to this -->%SystemRoot%\Inf;%SystemRoot%\OEM_drivers (my case - yours may differ) I presume this lets new hardware wizard know of one more place where to look for the SYS file.4) plug that puppy inIn my case, my embedded device has no shell (explorer ain't there at all) and no systray! Soooo, the new hardware dude runs in the usual ~1/4 screen mode dialogs instead of the usual systray bubbles that happen on a "normal" PC.The non-techical user still has to answere a few prompts, sees that the darned embedded device is running Windows, and finally - viola - installed!But, the goal is to assume the user is totally ignorant becaue if there's anything they might even remotely mes up, THEY WILL.I did try Microsoft's DPinst. Version 1.1 just came out today. It makes little difference but means that I have to download 360KB extra to my devices @1200 baud. Sorry Bill Gates. My approach is sooooo much lighter.Here's my take on the whole darned situation:Windows is a user-centric operating system. Windows embedded operating systems are really juts pared down versions of the parents (Win CE and Win XP). They were designed to fill a niche that Microsoft missed. They did not consider THIS problem because for all intents and purposes, their embedded systems are still user-centric. They need human operators to make them work with PNP devices.Darn! If only the company listened to me when I said we should go Linux embedded or QNX!
morethanbytes Posted April 18, 2005 Posted April 18, 2005 Hi,there's a commandline utility for the Devicemanager to change the drivers.the utility is called devcon.See for more informations:http://www.robvanderwoude.com/index.htmlor to download the utility:http://support.microsoft.com/default.aspx?...b;EN-US;Q311272on this page there is also a description from microsoftI think this could solve your problems.morethanbytes
pHROZEN gHOST Posted April 19, 2005 Author Posted April 19, 2005 Hi morethanbytes,Commandline is out of the question. This is a dedicated DirectX application embedded windows xp box that is broadly distributed. Automatic update is preferred.I have found a really dirty way around this.1) export HKLM hive to HKLM_before.txt (before)2) do a directory of c:\Windows > windows_before.txt (before)3) do the install via the Found New Hardware Manager.4) export HKLM hive to HKLM_after.txt (after)5) do a directory of c:\Windows > windows_after.txt (after)Now I have snapshots of before ans after. I'm pretty sure that's were everything is. So comparing for differences should give me what I need to change.The registry part is easy. Put the differences in a script file and download them. Have the application script them in through regedit.The windows part is even easier.But tight timelines leave me no time to test this to prove that it really will work. I have only one alternative left. Download the SYS (to C:\Whatever) and INF (to C:\Windows\inf). By plugging in the device which is PNP, the found new hardware wizard is activated and it wats to know where its driver is (it founf the INF). I merely have to take it by the hand to C:\Whatever and it is happy. The PNP device now works.This is ugly but its way better than two options Microsoft gave me. 1) create a new OpSys image - a management nightmare with fire and horns! 2) download an installer (DPinst) that adds 20 minutes of pain to my life and does not improve on what my solution gives.And, to make matters worse, the chipmaker won't tell me what is needed. They don't talk to end users!If there was a better way to make FNHW find the driver without the handholding, I'd be happier.Does anyone know of a registry key that would make FNHW happy (and maybe even autoinstall)!?!?!?Microsoft has missed the boat with PNP on embedded systems. It's sort of a catch 22. PNP is user-centric. But I want it to be totally PNP (no user input required).Anyway, I think what I've got has to survive for now. I ran outta time there. I'm on another project right now. The non-tech device installers will have to live with FNHW and a doc I wrote. They can call me if it breaks.
erik_demon Posted April 19, 2005 Posted April 19, 2005 Hey pHROZEN gHOSTThere have been some development the last fews days. Schalti developed a new way to install the drivers, and let windows recognize them automaticly. I haven't tested his method yet, but it seems to be very promesingcheck it out here
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now