MSFN Forum: Batch file not running as expected - MSFN Forum

Jump to content



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

Batch file not running as expected invoked from CMDLINES.TXT Rate Topic: -----

#1 User is offline   Ascii2 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 396
  • Joined: 31-December 06

Posted 12 October 2008 - 01:52 PM

I have prepared a batch file (.CMD file) to run at time of execution by CMDLINES.TXT (CMDLINES.TXT calls the batch file) during Windows 2000 Professional with Service Pack 4 setup. The batch file is located within a "Unattended" directory at the root of the installation source.

The problem is that many of the lines to be executed in the batch file are not running applications. When running of the applications fails, a message is returned, either "The system cannot find the path specified." or "'[Executable]' is not recognized as an internal or external command, operable program or batch file.". This seems odd; some things run fine others do not run at all when no error exists in the path to the .EXE files (I test ran the test batch file in Windows 2000, logged in as Administrator and had no problem).

I quote some of my test batch file below (including all parts with problem, bolding for emphasis):

".CMD batch file run from CMDLINES.TXT" said:

CD \Unattended

:: Install standalone patches
:: Cannot Change Time Zone on the Time & Date Tab
Updates\No_integrate\Time_Fixes\Control_Panel\Windows2000-KB832004-x86-ENU.EXE /passive /norestart
:: DST Fix
Updates\No_integrate\Time_Fixes\DST_fix\KB951072.EXE /Q
:: MDAC 2.8
Updates\No_integrate\MDAC_2_8\MDAC_TYP.EXE /Q /C:"dasetup /Q /N"
:: AOL Image Support Update for Windows 2000
AOL_image_support\aolsupp.exe /Q

:: Install Recovery Console
IF NOT EXIST %SystemDrive%\cmdcons\BOOTSECT.DAT (..\I386\winnt32.exe /cmdcons /unattend)

:: Install Windows Media Player 9
wmp9\MPSetup.exe /Q

:: Update Windows Media Player 9 to 9.00.00.3349
Updates\Windows_Media_Player_9\WindowsMedia9-KB917734-x86-ENU.exe /passive /norestart

:: Install Microsoft Java Virtual Machine Build 5.00.3810
MS_Java\5.00.3809\msjavwu.exe /Q /R:N
MS_Java\5.00.3810\MSJavWU.exe /Q /R:N

:: Install Internet Explorer 6 Service Pack 1 and Outlook Express 6
IE60SP1\ie6setup.exe /Q:U /R:N

:: Install Internet Explorer 6 Serivce Pac 1 Updates
:: Comulative - June 2006
Updates\Internet_Explorer_6_SP1\IE6.0sp1-KB916281-Windows-2000-XP-x86-ENU.exe /passive /norestart

:: Install DirectX 9.0c (x86) with updates to March 2008
directx_mar2008_redist_x86\DXSETUP.exe


The commands that are failing to work have been bolded in the quoted text; everything else seems to work correctly.

What is wrong? How may the problem be fixed?

The Windows 2000 installation is being performed from a disc, and the directory structure is the following:

Attached File(s)

  • Attached File  tree.gif (4.73K)
    Number of downloads: 11

This post has been edited by Ascii2: 12 October 2008 - 01:56 PM



#2 User is offline   Noise 

  • Windows Guru
  • PipPipPip
  • Group: Members
  • Posts: 425
  • Joined: 27-February 04

Posted 12 October 2008 - 05:47 PM

Ah, good ol Windows 2000.

I take it from your directory structure you are deploying from CD/DVD. If I was you I would throw your Unattended directory in Source\$OEM$\C\INSTALL - This will copy all your installation files to the C: drive during TextSetup mode. It has the added plus that you can remove the CDROM after the first boot.

You also want to limit yourself to short file names. In NT4 days short file names were mandatory with these types of deployments. I've found that is still true sometimes with Win2K.

Also, remember that cmdlines.txt runs at T-12, before any user profiles are setup (it uses the "Default User" profile). Some applications don't install well (or at all) at that point in Windows setup.

I suggest you do what I do: use cmdlines.txt to call a script in the $OEM$ directory. Install your registry settings in that script along with other simple things like powertoys, etc.

Add the following to your WINNT.SIF file:
[GuiRunOnce]
Command0=C:\INSTALL\AUTO.CMD

And use AUTO.CMD to install your applications.

#3 User is offline   Ascii2 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 396
  • Joined: 31-December 06

Posted 12 October 2008 - 07:12 PM

A CD-R is being used.

The file system of the Windows installation disc is a CDFS file system (the same used on Windows installation CDs from Microsoft). The CDFS file system does not differenciate cases (every file on CD appears uppercase). The problem may be due to using paths and filenames not compatible with the CDFS file system used by Microsoft Corporation (which I do not know the limitations; mabye it does not like hypens in the file names or directory names with multiple underscores).

This post has been edited by Ascii2: 12 October 2008 - 07:23 PM


#4 User is offline   Noise 

  • Windows Guru
  • PipPipPip
  • Group: Members
  • Posts: 425
  • Joined: 27-February 04

Posted 12 October 2008 - 07:42 PM

Ok, if you want to use long filenames go ahead. I'm just saying I've seen issues in the past. It's not an issue with the CD's filesystem, It's an issue on the way Windows does the textmode copy process. We used to have to make a rename.txt file to copy long filenames:
http://technet.micro...y/cc757895.aspx

This post has been edited by Nois3: 12 October 2008 - 07:43 PM


#5 User is offline   Ascii2 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 396
  • Joined: 31-December 06

Posted 12 October 2008 - 09:58 PM

View PostNois3, on Oct 12 2008, 08:42 PM, said:

Ok, if you want to use long filenames go ahead. I'm just saying I've seen issues in the past. It's not an issue with the CD's filesystem, It's an issue on the way Windows does the textmode copy process. We used to have to make a rename.txt file to copy long filenames:
http://technet.micro...y/cc757895.aspx
I have tried using short filenames, and the installations except for DirectX performed as they should.

I managed to get the DirectX install to invoke and install. The problem seemed to be that Windows setup was really unable to find the path to it. To test my unattended source as run via a CD, I used a virtual machine for which an ISO image file containing the Windows installation source was used to install Windows. While testing CMDLINES.TXT, I had created a restore point before execution of CMDLINES.TXT and would revert to it to test new changes. To inject new changes, I stopped the virtual machine, modified the ISO of the installation source and continued the virtual machine at the point before execution of CMDLINES.TXT. This seemed to work well for changes that were made to the batch file invoking different actions and installations. One time, I had changed the directory name on the ISO for the DirectX installation directory, both in the batch file and the directory itself (I had forgotten about this). After the change, and running the virtual machine Windows 2000 setup was unable to find the path to the DirectX installation directory. This seems to imply that Windows setup indexes the contents of the installation source and uses it during the CMDLINES.TXT execution (perhaps the scope is the entire GUI Windows setup), and does not check for the path on the actual installation source at runtime. After, starting the virtual machine from the beginning, the problem did do occur.

Thank you Nois3. The long file names seems to have been the main problem.

This post has been edited by Ascii2: 12 October 2008 - 09:59 PM


#6 User is offline   Ascii2 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 396
  • Joined: 31-December 06

Posted 12 October 2008 - 10:11 PM

By the way Nois3, does the short file name requirement also apply to SVCPACK.INF and SVCPACK directory?

When the /integrate switch is used with updates to integrate the updates to the installation source, hotfixes tend to be renamed. Most patch installers tend to be renamed to short file names, others (like "IE5.01sp4-KB916281-Windows2000sp4-x86-ENU.exe", "IE6.0sp1-KB905495-Windows2000-x86-ENU.exe", and "IE6.0sp1-KB918439-Windows-2000-XP-x86-ENU.exe") tend to be given much longer file names, and update rollups are given long file names including spaces. After installation it seems that the update rollups install fine with the long file names with spaces, while the patches with much longer file names (like those beginning "IE") do not appear installed (although this does not mean that they truly are not installed).

This post has been edited by Ascii2: 12 October 2008 - 10:18 PM


Share this topic:


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

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



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