MSFN Forum: Problem loading driver when using %OEM% - MSFN Forum

Jump to content


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problem loading driver when using %OEM% OemPreinstall=Yes breaks F6 driver load Rate Topic: -----

#1 User is offline   drkhyron 

  • Group: Members
  • Posts: 5
  • Joined: 06-January 04

Posted 06 January 2004 - 03:27 PM

I am trying to create a "mostly" unattended install of Windows 2000 and 2003. I have created a CD that does everything that I want except for one problem. Some of the engineers that I support need to load new drivers that are not on the CD. When they press F6 the install goes into the proper mode of loading the drivers from the diskette. It looks on the diskette and lists the drivers, letting the engineer select the correct driver, but when the install is supposed to copy the drivers from the diskette, it fails. It seems to be looking on the CD for the driver and not the diskette, saying that it can't find the drivers.

After some investigation I found that this one line in the winnt.sif file causes the problem:
OemPreinstall=Yes

If I set this line to No, F6 works correctly, but nothing in %OEM% is used. It seems to be one or the other.

Is there a way to have F6 continue to work and still have the contents of %OEM% used?

DrKhyron


#2 User is offline   Aaron 

  • The MSFN Banana
  • Group: Patrons
  • Posts: 5,767
  • Joined: 17-August 01
  • OS:ME
  • Country: Country Flag

Posted 06 January 2004 - 03:40 PM

By using DetectCD.exe you can get a system environment variable for the CD-ROM drive letter. You can then run your installs from the CD instead.

See here for more information.

#3 User is offline   drkhyron 

  • Group: Members
  • Posts: 5
  • Joined: 06-January 04

Posted 06 January 2004 - 03:49 PM

I'm not sure how I would use that program during the part of the install where you hit F6 to load a driver from the floppy.

#4 User is offline   IcemanND 

  • MSFN Junkie
  • Group: Super Moderator
  • Posts: 3,266
  • Joined: 24-September 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 06 January 2004 - 04:13 PM

@drkhyron - Neither am I and I wrote it. Maybe a new function for it I haven't heard of.

@AaronXp - how about a little enlightenment?

#5 User is offline   drkhyron 

  • Group: Members
  • Posts: 5
  • Joined: 06-January 04

Posted 06 January 2004 - 04:46 PM

Hmm. I think I might have figured out what AaronXP is telling me. Let's see if I got this right.

Set OEMPreinstall=No so that F6 works for loading the driver.
Then use GuiRunOnce to run a program that does all of the stuff in %OEM% that would have been done if OEMPreinstall=Yes, using DetectCD.exe to find the CDROM with %OEM%.

Is this what was being suggested?

If I need DetectCD.exe to find the CDROM, how do I run DetectCD.exe which would be on the CDROM that I need to be finding?

#6 User is offline   gosh 

  • gosh 2.0
  • Group: Patrons
  • Posts: 2,347
  • Joined: 03-October 03
  • OS:none specified
  • Country: Country Flag

Posted 06 January 2004 - 04:53 PM

Why not just make 2 boot options, 1 for an unattended install, 2 for a regular install. That way if you need to use f6 you just do option 2. On my website and other threads on this site show how to use more than one boot folder. In the first boot folder you would put your unattend file (winnt.sif), in the second boot folder you wouldn't use any unattend file.

-gosh

#7 User is offline   Aaron 

  • The MSFN Banana
  • Group: Patrons
  • Posts: 5,767
  • Joined: 17-August 01
  • OS:ME
  • Country: Country Flag

Posted 06 January 2004 - 05:28 PM

drkhyron, on Jan 6 2004, 10:46 PM, said:

Hmm. I think I might have figured out what AaronXP is telling me. Let's see if I got this right.

Set OEMPreinstall=No so that F6 works for loading the driver.
Then use GuiRunOnce to run a program that does all of the stuff in %OEM% that would have been done if OEMPreinstall=Yes, using DetectCD.exe to find the CDROM with %OEM%.

Is this what was being suggested?

yup...

Quote

If I need DetectCD.exe to find the CDROM, how do I run DetectCD.exe which would be on the CDROM that I need to be finding?


Didn't think of that! :)

#8 User is offline   Bachus 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 408
  • Joined: 25-July 03

Posted 06 January 2004 - 06:26 PM

Reminds me of the stories I've heard about cd-rom drivers being put on cds.. :)

#9 User is offline   brent24 

  • Script kiddie
  • Pip
  • Group: Members
  • Posts: 97
  • Joined: 14-December 03

Posted 06 January 2004 - 08:13 PM

You would put DetectCD.exe in the $oem$\$1\install folder so you can access it from a know location, %systemdrive%\install

Or ... you could use a js (or vbs [argh]) script to go through all the cdroms on the system looking for DetectCD.exe in a known folder on the cd.

If, for whatever reason, you choose the latter, I can help out if you don't know how.

[EDIT] I just realized....duh...if you go through all the cdroms on the system, you already know what the cdrom drive is. Now, it's a matter of finding which cdrom has the xp install cd in it :) If you choose the script route, I can still help out. :rolleyes:

[EDIT AGAIN] Ya know, this makes no sense either. You'd still have to put the script somewhere and if you know where it is, you can know where DetectCD.exe is. It's been a long day, i'm not thinking str8 :/ Option 1 is the better solution, i think. Good night.

#10 User is offline   drkhyron 

  • Group: Members
  • Posts: 5
  • Joined: 06-January 04

Posted 07 January 2004 - 11:46 AM

brent24, on Jan 6 2004, 08:13 PM, said:

You would put DetectCD.exe in the $oem$\$1\install folder so you can access it from a know location, %systemdrive%\install

If I set OEMPreinstall=Yes to use %OEM%, loading a specific driver using F6 breaks.

I'd like #1 a fix for this problem so that I can set OEMPreinstall=Yes AND use F6.
or
#2 a work around that allows me to use the F6 driver load and somehow load the items that are in %OEM%

So far I like Gosh's suggestion to have 2 types of install, one for full unattended install and another for using F6 and having the engineer do more themselves.

I also like AaronXP's suggestion, but still need to understand how to reference an install program on the CD when the OS loads the first time.

BTW, I'm working on Win2K, but will apply what I learn to Win2K3 later.

#11 User is offline   Aaron 

  • The MSFN Banana
  • Group: Patrons
  • Posts: 5,767
  • Joined: 17-August 01
  • OS:ME
  • Country: Country Flag

Posted 07 January 2004 - 01:03 PM

I suppose a floppy disk with detectcd.exe on it is out of the question? It's all I can think of.

You *might* be able to run a cmd file with IF EXIST / SET commands then run detectcd.exe straight after. The environment variable will disappear when the cmd file is finished, but detectcd.exe should set a permanent environment variable from then on. I'm only just speculating at the moment.

#12 User is offline   Fugacious 

  • Group: Members
  • Posts: 1
  • Joined: 07-January 04

Posted 07 January 2004 - 01:30 PM

If you can get a batch file to be copied to your harddrive you can use something like this.


@echo off

IF EXIST d:\i386\winnt.exe (

  set CDROM=d:\i386\$oem$\


)ELSE IF EXIST e:\i386\winnt.exe (

  set CDROM=e:\i386\$oem$\

)ELSE IF EXIST f:\i386\winnt.exe (

  set CDROM=e:\i386\$oem$\

)ELSE (

  And so on...

)	

%CDROM%\Drivers\4523\Setup.exe -s -f1"%CDROM%\Drivers\4523\Setup.iss"

%CDROM%\Drivers\Live51\Audio\Setup\setup.exe -s -f1"%CDROM%\Drivers\Live51\Audio\Setup\setup.iss"

EXIT


#13 User is offline   IcemanND 

  • MSFN Junkie
  • Group: Super Moderator
  • Posts: 3,266
  • Joined: 24-September 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 07 January 2004 - 02:06 PM

another option to get the cd letter, only if you know at the time the current directory id the root of the CD is

set MYCD=%CD%


This will set MYCD to the current directory.

#14 User is offline   brent24 

  • Script kiddie
  • Pip
  • Group: Members
  • Posts: 97
  • Joined: 14-December 03

Posted 07 January 2004 - 02:41 PM

What about putting the DetectCD.exe (or a script or .cmd) in the i386\updates directory and then putting an entry in the svcpack.inf [setuphotfixestorun] section like so:

[SetupHotfixesToRun]
update.exe -q -n
DetectCD.exe
Q330994.exe /Q:A /R:N
etc....
etc....
etc....

I'm not sure if DetectCD.exe sets a local machine variable or a current user variable but if it's the machine variable I think it should still be accessible at first boot time.

I'm not sure if all this made sense, comments? :)

#15 User is offline   Alanoll 

  • CODE tags people, CODE tags!
  • Group: Patrons
  • Posts: 5,496
  • Joined: 25-September 03

Posted 07 January 2004 - 02:58 PM

are you running the stuff from a batch file, or an INF. as this was never answered i don't think. People just assumede batch.
when are you running the stuff from $OEM$? from cmdlines.txt or GUIRunOnce

#16 User is offline   Aaron 

  • The MSFN Banana
  • Group: Patrons
  • Posts: 5,767
  • Joined: 17-August 01
  • OS:ME
  • Country: Country Flag

Posted 07 January 2004 - 03:16 PM

brent24, that's likely to work as someone else mentioned that svcpack.inf is processed no matter what OemPreinstall is set to :)

#17 User is offline   IcemanND 

  • MSFN Junkie
  • Group: Super Moderator
  • Posts: 3,266
  • Joined: 24-September 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 08 January 2004 - 06:55 AM

Detectcd.exe sets a local machine variable, not current user.

I don't know why it wouldn't run from [setuphotfixestorun], its worth looking into.

#18 User is offline   drkhyron 

  • Group: Members
  • Posts: 5
  • Joined: 06-January 04

Posted 08 January 2004 - 12:08 PM

Thanks Brent24! I think that will work for me. I've just gotten busy with another project as I am responsible for automating everything in the test lab, but I should be able to try it out in a few days.

Thanks IcemanND for the DetectCD utility.

Thanks all!

DrKhyron

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy