Jump to content

Recommended Posts

Posted (edited)

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

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:

post-119948-1223841172_thumb.png

Edited by Ascii2

Posted

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.

Posted (edited)

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

Edited by Ascii2
Posted (edited)
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.microsoft.com/en-us/library/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.

Edited by Ascii2
Posted (edited)

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

Edited by Ascii2

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