Jump to content

Recommended Posts

Posted

ok, so i've finally determined that to install newer drivers while upgrading to winxp from win2k (using an unattended install, mind you) we're going to use cmdlines.txt.

what we want to do, is insert a registry (via comdlines.txt) key to tell windows to look for its drivers in a different folder, so that upon starting up for the first time, it will try to enumerate the devices installed while looking for drivers in our specified directory (we have the necessary key that we need to change)

so, im assuming all we need to do is insert our drivers folder into the appropriate $OEM$ folder so that the directory will be copied over during the install, and then create a registry key entry to run (via cmdlines.txt) before setup is over, so that when windows restarts, and tries to load drivers for its devices, will look in our specified folder.

does this sound like a logical plan of attack?


Posted

yeah, i want to change the default directory in which windows looks for drivers, so that way, when it attempts to enumerate devices it doesnt have drivers for, it looks in 'my directory' rather than 'microsoft's driver directory'

does unattended setup via distrbution point use winnt.sif? it was my understanding that it didnt.

also, it is my understanding that you cannot use the PnPDrivers switch unless you are using the OEMPreInstall switch, which you cannot use if you are using the WinNTUpgrade switch, which I am using, as i want to do upgrades, not clean installs. did i lose you? :)

Posted

i know exactly which key it is, but i was curious if this would be the proper way (or at least it would work) this way or not, thats all.

i am having trouble trying to export the exact key so that i can get the syntax, (any ideas?) but other than that i know the key that i need to change.

Posted

syntax of the key? u should just replace the path (ive never done it)

try it tho using vmware or vpc, so u arent wasting time with a cdr or iso

regards

Posted

it would have to be a hdd that you move to a different machine.....if you don't, it looks for the devices during actual setup, and if they aren't found, it doesn't look for them again, untill you tell it to. So it'd have to be like a sysprep'd image or something. (not my area, sorry)

a better place if it's a computer basis, would be to import the key at DetachedProgram or whatever (it runs are T-39 ) that way it's imported before the initial system scan, and windows finds teh drivers the first time.

Posted

the reason i am doing it this way is to make sure that our pcs that are being upgraded from win2k to winxp have all of their devices spoken for, driver wise.

MCT, i could just change the path on THIS machine, but i want to have a .reg file to import it so that when the machines are upgraded, they are all patched to look in a specific local directory. i could sit at each machine change it manually, but this would defeat the purpose of 'unattended' :)

alanoll, my guess is that when you install new hardware to a machine (like a regular upgrade) that when you boot into windows with this new hardware, it first looks for its appropriate drivers in the default path. when it cant find an appropriate driver, it prompts the user to start the 'add new hardware wizard'. this is what i want. when the unattended install is completed, and it boots into windows, if it finds a piece of hardware it doesnt have drivers for via the regular windows install, i want it to look in the other directory i have created in order to find the correct drivers. then the user will not be prompted to start the 'add new hardware wizard'.

what is this detached program key that you are talking about? this seems like it would work, pretty much doing the same thing i am attempting to do. however, at this point, whenever it runs, has windows setup already copied the files i specified in the appropriate $OEM$ file? if not, when it looks for my directory for drivers, it wont find anything. but it seems that if the directory is there by the time it looks, that it would be the same thing i am trying to do.

Posted

the $OEM$ directory is copied over during TXTSETUP, not when the graphics come up.

DetachProgram is in the WINNT.SIF file. Do a search in your ref.chm file (in the deploy tools) and you'll find it. It's under [setupParams]

as for your first point, this is true whenever windows finds new hardware it hasn't seen before. It will only see hardware it hasn't seen before if you sysprep (i think, not sure) or if you physically move the drive you installed windows on to another computer. Otherwise, it has seen the hardware before, and knows it doesn't have the driver, so it has no reason to look for it again. Hence, user interaction.

I think the detached program might be more along the lines of what you're looking for.

Posted
as for your first point, this is true whenever windows finds new hardware it hasn't seen before. It will only see hardware it hasn't seen before if you sysprep (i think, not sure) or if you physically move the drive you installed windows on to another computer. Otherwise, it has seen the hardware before, and knows it doesn't have the driver, so it has no reason to look for it again. Hence, user interaction.

i do not think this is true.

ever have a piece of hardware that you dont have the drivers for, cancel out of the hardware wizard the first time it pops up, and still get bugged by windows each time you reboot to install the drivers for the new hardware? you could bypass this by disabling the hardware, but i wouldnt be doing that.

i will check out the winnt.sif file tho. however, i didnt think that the winnt.sif file is used during a distribution point install? i thought that was only for cd based installs? i am wrong?

Posted

yes, if you click cancel. But windows setup does it a different way. I've had hardware myself that windows didn't recognize and it NEVER bugged me about it till i remove it and put it back in. Maybe it depends on the hardware, as my printer always used to come up as well.....

It could be hardware dependend.

WINNT.SIF is used whenever you use it. How do you start the install? If by winnt.exe or winn32.exe there is a argument for specifying the answer file, and you would tell it to use the file.

How does you $OEM$ get copied over without WINNT.SIF? Prior to install or what? (I'm just curious)

Just thinking through.....

you have yet another option......

There is a post in the Drivers forum called "SOLVED: DRIVERS FROM CD". THe methodology might be somewhat what you want, if you want to avoid using the WINNT.SIF file.

THe poster created a copy programs. One is a SETUP.EXE file that then runs the batch file presetup.cmd which in turn calls another program to enumerate a directory that would be where your drivers here. (I can't explain it very well, if you look at the post, it might make more sense) I use this method as I install the drivers from CD, but the programs themselves you could use for your drivers without WINNT.SIF

Posted

i understand what you are saying now, and youre right, sometimes it never bugs you again. i have a feeling that it will in fact not bug you by installing this way. oh well.

i am installing using unattend.bat, which is essentially just a startup for the unattend.txt file (using winnt32 via cmd prompt just never worked... .bat works fine) that is created when creating the unattend.txt file.

my PnP drivers were initially copied over using OEMPreInstall, but i have since that found out that I need to include the WinNTUpgrade switch in order to upgrade my machines, and if you are using the Upgrade switch, you are not able to use OEMPreInstall, and vice versa. So that was the kibosh on that, and i need to find another way to copy the files over the each computers HD during install.

so, youre saying that i can point the install to the .sif file instead of the unattend.txt file? are the switches all the same? any mods i would have to make in order for my .sif file to work?

my whole point is that i want the devices that windows does not have drivers for to be installed correctly and be working with as little cleanup to do after the install as possible. otherwise it defeats the purpose of having an 'unattended' setup. we set up our install via the distirbution point as this was the best way to do so.

Posted

welll...

WINNT.SIF is the on CD version, and UNATTEND.TXT is every other way. They're the EXACT same file....

alrighty....

here's what you can do.....

go here: http://www.msfn.org/board/index.php?showtopic=12566

However, i don't know if it's possible from an Network install. If your's is indeed a network install....

Go down on that same page, to a post by RyanVM (it's in the last couple pages) and create a SFX archive. It'd be a pain to update, but it will work for your need. Combine the two methods, so presetup.cmd calls the SFX, and then point the file that generates the paths to the directory teh SFX is extracted to. To do this correctly, you may need to add your SFX to txtsetup.sif and dosnet.inf so that Windows setup will copy it over for you, so no OEMPreInstall, and then it still works.

If you have a messaging client, i could probally help you through it on there, in realtime, instead of guessing at what you're trying to do :)

Posted

unfortunately i dont think i can use messaging here at work, but i understand what you are saying. sorry if im keeping you guessing ;0

my install is INDEED a network install. its going to be upgrading PCs here in the office by creating a mapped drive to the share and then running the unattend.bat to start the upgrade process.

ill check out ryanvm's post and see how that affects what i am trying to do.

my main problem is that there only seem to be two options, and we want some of both -

clean install, start from scratch, essentially wipe everything out, use our updated drivers and passwords. which is half of what im trying to do.

upgrade - which doesnt allow me to change some things we want changed (drivers, update admin password, etc) which is proving to be a b$tch as we are sort of trying to have our cake and eat it too. which doesnt seem to be working :)

Posted

oh, you can have you cake and eat it....with a bit of work that is....

It's possible, but you have to work around alot of stuff. And improvise in a way that may not seem to work but does.

how is your $OEM$ copied over in both situations? By your unattend.bat prior to starting? As if your use OEMPreInstall is negates the upgrade. Or is that the problem? $OEM$ is copied over ONLY when doing a clean install and not an upgrade?

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