Jump to content

Windows XP embedded unattended driver install


Recommended Posts

:blink: This is a really dumb question. :blink:

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. :unsure:

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.

Link to comment
Share on other sites


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\inf

With 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. :blink:

Link to comment
Share on other sites

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 :P

A solution would be very welcome!!

Link to comment
Share on other sites

Well Said Erik! :thumbup

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.INF

WHat do you think Erik? Might it work? :}

Link to comment
Share on other sites

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\inf

3) 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 in

In 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!

:realmad:

Link to comment
Share on other sites

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.html

or to download the utility:

http://support.microsoft.com/default.aspx?...b;EN-US;Q311272

on this page there is also a description from microsoft

I think this could solve your problems.

morethanbytes

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Hey pHROZEN gHOST

There 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 promesing

check it out here

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...