We help IT Professionals succeed at work.

unattended install not processing cmdlines.txt

rblaine asked
Medium Priority
Last Modified: 2013-12-14
I'm attempting to do an unattended install across the network.  I've placed the cmdlines.txt file and a sp1 (service pak 1) direcory under the $oem$ directory.  The cmdlines.txt reads as follows...
".\sp1\update /u /z"

The service pak update is not performed.
I also have the OEMPREINSTALL=yes line in the unattended.txt file.

What's wrong?
Watch Question

After install there is no SP1 directory on your HD (i guess) because it was not copied. you must put in $oem$\D\SP1 so SP1 is copied locally. &oem$\sp1 is useless. I am not sure if you can install it from the server, but why not.

I would prefer the folling:
Instal Nt4.0
run sysdiff /snap
install SP1
run sysdiff /diff
run sysdiff /inf

now you have the difference in $oem$ and must use cmdlines.txt to make the registry update.

On www.microsoft.com you find an extended information about this. Check the FAQ and search for "unattend"

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts


This doesn't work.  Apparently none of the files placed in the $oem$ directory or subdirectories are being copied to the local hard disk.

I set up several computers this way, it works!

On my server I have D:\clients\winnt\netsetup\$oem$
In this directory i have "$$" which contains the changed systemfiles under winnt (excluding \winnt itself) and "D" containing any files that should be copied to local harddisk D: (e.g. directory $oem$\d\winnt)
I mount the clients directory and install over the network from within the netsetup directory.
Yes I installed NT to drive D: not C:, I hope I did not confuse you in my answere by telling you to put it in $oem$\D\SP1 . If you install to C: you must of course put it in $oem$\C\SP1 .
The directory $oem$ is very special, you can not put anything there. Details are in pre-install.zip (see below).

Did you install using option /u ?
Do the other options of your unattended install work?

The following documents are very helpfull:

          get preinstallation document there:

Here is a part of my unattend.txt:

OemPreinstall = yes
NoWaitAfterTextMode = 1
NoWaitAfterGUIMode = 1
FileSystem = ConvertNTFS
ExtendOEMPartition = 0
ConfirmHardware = no
NtUpgrade = no
Win31Upgrade = no
TargetPath = \WINNT
OverwriteOemFilesOnUpgrade = no


I did what you suggested by putting the SP1 directory in the $oem$\c\sp1.  Unfortunately nothing is getting copied to the local hard drive, or at least it's not there after the install is complete.  Is there a way to check during the install whether or not the file are getting copied.

I'm using SAMBA on HP-UX to share the distribution files.  The files are all in lower case on the server, ie $oem$ instead of $OEM$, could this be contributing to the problem?

I was not aware that you do not distribute from a NT-server.
I created the client install directory when installing the server.
How does your Directorystructure look like? Do you have a i386 directory ? I do not have one, all files (including $oem$ directory are in "netsetup".
I do not think it matters if upper or lowercase, but you can try.
Are you sure you perform an unattended installation?
Does the rest works unattended?
Did you read the suggested papers?

Here is how invoke my setup
rem =====================================
@echo off
rem clients is mounted as Z:
cd \winnt\netsetup

rem unattend.txt is on c:\
smartdrv 8000 a- c+ d+
winnt.exe /B /S:Z:\WINNT\NETSETUP /u:c:\unattend.txt /t:d:
rem ===========================================

I think there must be something simple wrong. Maybe to simple to think of. How did you get the files on your unix?
What exactly is SAMBA ? Why do you need it? Is it a programm to make a unix-computer look like a nt-computer?


I read all the documentation you suggested plus the NT Resource kit which says all the files in the $OEM$ directory are supposed to be copied to the local drive.
I'm sure your correct that it's something simple but i just don't see it, so here's some more info.

Directory stucture...
I share the distribution directory which is a copy of the I386 directory found on the CDROM.  I copied the files from the CDROM over my network.
Under that directory i have the $oem$, drvlib.nic, and system32 directories.  Under $oem$ i have the "C" and "sp1" directories and the cmdlines.txt file. "C" just has some temp files to test the copy process.

The exact steps i take for the unattended install...
1) using DOS 6.22 FDISK the hard drive (HD) with one partition.
2) format the HD with the DOS system
3) copy the necessary MS client files to the hard drive.  I've had some problems loading the network client and doing the install while booting off the floppy.
4) remove the floopy and reboot

all the above are done automatically from the boot floppy i created (except removing the floppy ;) )

The batch file from above prompts me for the TCP/IP address and the computer name which will be used with the "unique.udb" file, which works.

When the computer reboots the autoexec.bat files looks like this...
SET PATH=c:\dos;C:\NET
C:\NET\net initialize
C:\NET\net start /yes
net use z: \\s1\nt_dist
winnt /b /s:\\s1\nt_dist /u:\\s1\nt_dist\answer.txt /udf:comp1,\\s1\nt_dist\$unique$.udb

"s1" is the name of the server.
"comp1" is the computer name.
"nt_dist" is the name of the I386 directory shared from the server.
"answer.txt" is my unattended install.

the basic part of ANSWER.TXT
OemPreinstall = "yes"
OemSkipEULA = "Yes"
NoWaitAfterTextMode = "1"
NoWaitAfterGUIMode = "1"
FileSystem = "ConvertNTFS"
ExtendOEMPartition = "0"
ConfirmHardware = "no"
NtUpgrade = "no"
Win31Upgrade = "no"
TargetPath = "\WINNT"
OverwriteOemFilesOnUpgrade = "no"

cmdlines.txt in the $oem$ directory
".\sp1\update.exe /u /z"

the sp1 directory contains service pak 1 files.

The only other glitch i have with the unattend install is described in the MS knowledge base article http://www.microsoft.com/kb/articles/q159/2/03.htm.  I don't know if it's related or not.

What is SAMBA?
basically, software to share unix file services with PC's for more details see http://samba.canberra.edu.au/pub/samba/docs/faq/sambafaq-1.html#ss1.1

Thanks for that long info.
I have done something very similiar, but here are the differences:

- I use the boot floppy created by the server (modified only   autoexec.bat to start an install.bat from the server9

- I do not use UDF

- My answerfile is called UNATTEND.TXT not ANSWER.TXT
  (If possible I always leave the defaults since most programmers   only test with their own defaults and I saw to many products
  not working properly when changing the defaults (e.g. Adaptecs
  EZSCSI Update)

- I do not have:   OemSkipEULA = "Yes"
  What is it supposed to do?

- I do not use a UNIX-server for distribution

I do not know, but I fear that it my be possible that the unattended process stops after an error. So if you have this IP-adress problem could it be that everything after that has to be answered manually? If so try to autoinstall without network.

I suggest that you (for testing only) downgrade your installation to my. So do not use UDF, rename the answer file, remove the EULA line, get rid off the IP-adress problem.

The last one is difficult since MS suggest to install SP2 and you only install SP1 (why? Sp2 so bad?) and you need SP2 installed before the installation (which is impossible).
I suggest for this IP-Problem, you manually install NT4.0, install SP2 and choose the option to create a backup directory. There you will find all the old files which were replaced. Now get the new files with this name and copy them to the installation directory. Do this only if you replace an old version with that. Pay attention because the files on the CD are comressed and have a different name (last character) that the installed one. You don't have to compress or rename them. Hopefully you get the fixed file in so it can be used at installation time. Maybe you find someone how can tell you the name of the file needed.

I do not think everything under $oem$ is copied. Only certain directories. But If you have some files in $oem$\c you should see them in the root of c after the install.

If the cmdlines.txt in the $oem$ directory is:
".\sp1\update.exe /u /z"

you have a directory $oem$\sp1 /without a "C". This should work, SP1 is then installing over the network.
Since No files are copied from $oem$\c I think that the unattended process stops somehow and cmdlines.txt is never executed.

My 1st try would be to correct the IP-Adress problem.



When NT is copying files from the distribution share to the local hard drive during the text mode portion of the install, does the the files from the $oem$ show on the screen as there being copied?

No, you see nothing (At least I never recognized anything).
Did you try anything?


I found another guide:


It is a 130 page Word document only on how to make an uninstalled setup.


I've solved the problem...

You apparently can't have an underscore in the distribution share name!  "nt_dist" doesn't work but "ntdist" does.

Now that's one for the record books

Thanks for trying to help.

I knew it will be something simple in the end. I guess it is a character conversion problem Unix<->NT.

Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.