Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Switches in TXTSETUP.SIF

- - - - -

  • Please log in to reply
39 replies to this topic

#26
Donnie

Donnie
  • Member
  • 4 posts
Hello everybody.
I can't figure out how iexplore.exe is copied to "Program Files\Internet Explorer"

In txtsetup.sif the corresponding line reads
iexplore.exe = 100,,,,,,,,3,3

This is just for example, as many other files are copied to "Program Files\<some sub-dir>".

Any suggestions?


How to remove advertisement from MSFN

#27
yodafr

yodafr

    Newbie

  • Member
  • 18 posts

Hello everybody.
I can't figure out how iexplore.exe is copied to "Program Files\Internet Explorer"

In txtsetup.sif the corresponding line reads
iexplore.exe = 100,,,,,,,,3,3

This is just for example, as many other files are copied to "Program Files\<some sub-dir>".

Any suggestions?


hello,

Same problem for me.

How can I put files in "program files\myfolder" without $OEM$ folder, probably using txtsetup.sif

Thanks.

#28
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
You can't. You have to use INFs to copy them (which is how MS does it for stuff in Program Files)
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#29
yodafr

yodafr

    Newbie

  • Member
  • 18 posts
Can you give me the name of an exemple file in i386 ?

Thanks :).

Edit : that's good, I found what I needed, thanks ;).

Re-Edit : what file must I modify for the installation of the .inf file during installation ?
Thanks :).

Edited by yodafr, 09 July 2006 - 11:55 AM.


#30
yodafr

yodafr

    Newbie

  • Member
  • 18 posts
Please :(.

Where can I find a tutorial ?

Thanks :).

#31
Br4tt3

Br4tt3

    World famous sausage eater...

  • Member
  • PipPipPipPip
  • 566 posts
Read just about everything there is on this subject and this my last desperate attempt to have someone helping me solve my current issue:

link to problem:
http://www.msfn.org/...showtopic=79938

Thanks for the nice info though, both Gosh & Raskren!
Sponsored by Swedish Meat!
Tha Sausage Eater...

Please read before posting in forums: http://support.microsoft.com/kb/555375

#32
Speeddymon

Speeddymon

    Advanced Member

  • Member
  • PipPipPip
  • 323 posts
Hi, I have entries in my txtsetup.sif that don't conform to the standard listed so far..

aec.sys = 100,,,,,,,4,0,3; This doesnt conform
afd.sys = 100,,,,,,,4,0,0,,1,4; This does

SO, bearing that in mind, 100 says it is from a service pack, 4 is the install dir, 0 says always copy on upgrade, but what does the 3 mean on the first line? What does the 2nd 0 mean on the 2nd line?

My guess for the first line is that the 3 is the new install code, but I can't be totally sure yet, I'm going to test this tomorrow. As for the 2nd line, I have no clue, anyone else care to venture a guess?

According to Post #4, there are supposed to be 3 commas after the upgrade code.

I'm asking because aec.sys was not on my SP1 CD, nor is it added after I slipstream SP2, however one of the post-sp2 updates I downloaded from MS has it, and it is installed on my machine in the folder that 4 points to (\system32\drivers)

I've just used makecab on it and copied it to my i386 folder, but I want to make sure it will be copied on a clean install.

EDIT: I just discovered that aec.sys is in my SP2.cab file and is installed by it's reference in another file that isnt txtsetup.sif, so that takes care of that problem, but I still would like to know about the string.

Edited by Speeddymon, 19 September 2006 - 10:53 AM.


#33
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts

Now in plain English...I think.

A while back I posted how to add 3rd party SATA/RAID/SCSI/IDE drivers that were not included with Windows. This involved making changes to the TXTSETUP.SIF file located in the i386 directory.

Let's look at a line adding the driver file iaStor.sys (ICH5R driver) in the [SourceDisksFiles]


what do I need to put if I'm using promise PCD20378?
fasttx2k.sys = 100,,,,,,3_,4,1,,,1,4
ulsata.sys = 100,,,,,,3_,4,1,,,1,4

I've just copied this from your walk through, don't know if it's correct?

Also, my drivers folders DON'T contain a TXTSETUP.OEM file. The 'OEM' file is in the folder on the next level up!!! I've only copied the files from the drivers folders as per your walk through [which doesn't include the 'oem' file], is this correct?

Many Thanks!
:thumbup

#34
Speeddymon

Speeddymon

    Advanced Member

  • Member
  • PipPipPip
  • 323 posts

I've just copied this from your walk through, don't know if it's correct?

Also, my drivers folders DON'T contain a TXTSETUP.OEM file. The 'OEM' file is in the folder on the next level up!!! I've only copied the files from the drivers folders as per your walk through [which doesn't include the 'oem' file], is this correct?


The only way that this would work (just copying the files without modifying your txtsetup.sif) is if the files are already referenced in txtsetup.sif (i.e. you are just updating the drivers to the latest ones). If you are adding a new driver in, then you need to copy the necessary lines from your txtsetup.oem (yes, the one in the directory above where your drivers are in this case) and paste them into txtsetup.sif. Then modify the lines so that they point to the correct location of the driver files on your cd.. If you post the sections of your txtsetup.oem that are referenced in the howto you looked at, I can help you modify them so that they point to the right place.

#35
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts

Just wanted to mention my site has similiar info at http://gosh.msfnhost...om/txtsetup.htm

-gosh


can't access your site?

where can I get more detail about those numbers please?

1,,,,,,4_,4,1,,,1,4 explanation?

many thanks!

[@ anyone]
:w00t:

#36
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts


I've just copied this from your walk through, don't know if it's correct?

Also, my drivers folders DON'T contain a TXTSETUP.OEM file. The 'OEM' file is in the folder on the next level up!!! I've only copied the files from the drivers folders as per your walk through [which doesn't include the 'oem' file], is this correct?


If you post the sections of your txtsetup.oem that are referenced in the howto you looked at, I can help you modify them so that they point to the right place.


@speeddymon...

many thanks! :thumbup

I've attached:
The 2 txtsetup.oem files for raid/ata promise.
A section that I'm unsure about adding in to the 'package'/structure at all? (refers to a different driver in the example but I could always substitute if necessary?).
A walk through of what I actually did (so far)!!!
:yes:

DOWNLOAD FILES TO PRESERVE FORMATTING!

Attached Files


Edited by the_doc735, 25 September 2006 - 09:59 AM.


#37
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts

SEE ATTACHMENT - HEREWITH

A while back I posted how to add 3rd party SATA/RAID/SCSI/IDE drivers that were not included with Windows. This involved making changes to the TXTSETUP.SIF file located in the i386 directory.

Let's look at adding the driver file in the [SourceDisksFiles] section....



The txtsetup.sif explained
Background:
Windows Setup uses a number of key files to control how the Windows Setup behaves. This mechanism dates back to the Windows NT era. If you are able to control these files, you are controlling how Windows Setup behaves. For now you need to be aware of three files:

DOSNET.INF - Used by WINNT.EXE/WINNT32.EXE during the file copy phase of the Setup.
LAYOUT.INF - Used as a template for file copy operations. DO NOT EDIT THIS FILE!
TXTSETUP.SIF - Used by the textmode phase of the Setup and prepares for the GUI phase of the Setup.
The textmode phase is invoked after the reboot from the copy phase or when booting from the installation CD-ROM. This article will be limited to adjusting the txtsetup.sif file only, since most installations will be initiated from a bootable installation CD-ROM.


Textmode and the txtsetup.sif file:
As mention before the txtsetup.sif file is used by textmode phase of the Windows Setup and largely controls how the Windows Setup behaves. Among the tasks the textmode phase performs, are the following:

Preparing the filesystem for installation (formatting, creating folders).
Copy the basic Windows files needed to start the GUI phase to the destination folders.
Loading setupreg.hiv needed by the GUI phase and preparing the Initial Registry configurations.
Txtsetup.sif sections:
Every information file is divided into sections. Sections can be identified by brackets, eg. '[MySection]'. For adding OEM drivers so the storage hardware can be used by the Textmode phase of the Windows Setup the following sections are important to be aware of:


[WinntDirectories] 
1 = "\" 
2 = system32 
3 = system32\config 
4 = system32\drivers 
20 = inf 

[SourceDisksFiles] 
dummy.sys = 1,,,,,,3_,4,1,,,1,4 

[HardwareIdsDatabase] 
PCI\VEN_9999&DEV_1234 = "dummy" 

[SCSI.load] 
dummy = dummy.sys,4 

[SCSI] 
dummy = "Robert's Dummy Storage Driver"



Although 'Dummy' is used as an example entry, if a 'dummy.sys' would actually exist on the installation media and the above entries would have been added to the 'txtsetup.sif' the Textmode phase of the Windows Setup would have displayed in the status bar of the screen 'Loading Robert's Dummy Storage Driver ...'.


[WinntDirectories]:
This section maps a physical directory, either absolute like '\' or relative to %SystemRoot%. The folder is identified throughout the Windows Setup by the number it was assigned to. Eg. '4 = system32\drivers' maps the number '4' to '%SystemRoot%\system32\drivers'.


[SourceDisksFiles]:
This section controls how source files are copied to their destination and what their properties will be, eg. The file 'dum__.inf' can be copied to '%SystemRoot%\Inf\dummy.inf' with the line: 'dum__.inf = 1,,,,,,,20,0,0,dummy.inf'.


[HardwareIdsDatabase]:
This sections holds the mapping of physical PCI resources that will be controlled by the various drivers. In the above example the driver identified by the name 'dummy' controls a piece of hardware that identified by the following PCI Vendor ID and PCI Device ID: 'PCI\VEN_9999&DEV_1234'. If there are multiple drivers that control the same PCI Vendor ID and PCI Device ID we can expect a bugcheck. If the wrong information is entered here for Storage hardware, you definitely get a bugcheck '0x0000007B' better known as: 'INACCESSIBLE_BOOT_DEVICE'.


[SCSI.load]:
You can add as many drivers as you want, but if the Windows Setup doesn't load them, they can not be used during the setup. This section controls if the various drivers are loaded during initialization and in what order. This section is processed from top to bottom, so drivers listed first are loaded first. So, dummy = dummy.sys,4 loads the driver 'dummy.sys' from the folder '%SystemRoot%\System32\Drivers'


Note: It's relative to the destination folder!.


[SCSI]:
If Windows Setup would display 'Loading dummy.sys...' we still wouldn't know what kind of driver (except for its name) is being loaded. Displaying something like 'Loading Robert's Dummy Storage Driver ...' looks much better. That is the primary function for this section, displaying a 'friendly name'. The format is something like: 'driver_name = "Friendly Name"'. The 'Friendly Name' part can be any text, but it's custom to use a string that can be found in either the drivers 'txtsetup.oem' or 'driver.inf', but more about that in the next part of this article.


Modifying the txtsetup.sif
Background:
As mentioned before the Windows Setup exist from two phases know as the 'Textmode' phase and the 'GUI' phase. Adding storage drivers Textmode phase doesn't necessarily mean that the GUI phase is aware of the storage device presented by the driver. So if you add a driver to the Textmode phase of the setup and install Windows on the device presented by that driver, after the GUI phase has completed successfully and Windows has been installed, you will not be able to boot because the driver is not installed correctly. To avoid this, the driver must also be installed during the GUI phase.
If you're familiar with unattended installation you probably know about a feature called: 'OemPnPDriversPath', but unfortunately that option is not available in attended installations. So we have to come up with another solution. The GUI phase parses the %SystemRoot%\Inf folder for any information files present, if we could make sure the Textmode phase copies the driver .inf file to that folder, we would be save. Well that is, almost save. Actually there are two solutions; one simple and another more complex but more elegant. Both methods will be discussed here, the former being mandatory:


Preparing the modifications:
In the previous section we saw how the txtsetup.sif is constructed. So somehow we need to obtain the information to be able to modify our own txtsetup.sif and add our own driver. What we require is outlined below:

Obviously we need the 'Promise' SATA driver, which can be downloaded here or here.
We also need the setup information file from the downloaded 'Promise' driver zip file, fasttx2k.inf.
And the driver file itself, fasttx2k.sys.
The textmode OEM information file, txtsetup.oem.
The entire content of the Windows Server 2003, Standard x64 Edition copied to a temporary folder. Keep in mind that files copied from CD-ROM have the 'Read only' attribute set.
Extracting the required information:
Now execute the following steps one-by-one.

Extract the downloaded driver zip file, 1_FastTrakS150TX-Series-PDC2037x-1.00.1.39.zip to a temporary folder.
Open the txtsetup.oem with a text editor. Notepad.exe is adequate.
Search for a string that looks like this: driver = d2, fasttx2k.sys, fasttx2k.
This gives us the driver file name, fasttx2k.sys and the internal driver name, fasttx2k. Take note of these filenames.
Now search for a string that looks like this: FastTrak_TX2K_net = "Promise FastTrak 378/TX4000/S150 TX Series ™ Controller", fasttx2k.
Now we have the drivers Friendly name, Promise FastTrak 378/TX4000/S150 TX Series ™ Controller. Save the friendly name.
Look for any line that starts with: id="PCI\VEN_" and save those too. These are the unique PCI Vendor ID's and PCI Device ID's that identify a certain adapter.

Now that we have the required information we can proceed with the next step.


Modifying the txtsetup.sif file:
First we need to add the files to the [SourceDisksFiles] section of the txtsetup.sif. To do that, open any text editor and add the two lines under the [SourceDisksFiles] section below in the txtsetup.sif file. The txtsetup.sif can be found in the \AMD64 directory of the installation source.


[SourceDisksFiles] 
fasttx2k.sys = 1,,,,,,3_,4,1,,,1,4 
fasttx2k.inf = 1,,,,,,,20,0,0


The line fasttx2k.inf = 1,,,,,,,20,0,0 has been added, although not necessary for Textmode mode storage detection, it is necessary by the GUI mode hardware detection. Remember, it parses the %SystemRoot%\Inf folder for existing .inf files. Notice the numbers 4 and 20 being bold. This is the destination folder where the files will be copied to. As mentioned in the previous section, folders are mapped to numbers. For the complete list look at the [WinntDirectories] of the txtsetup.sif.


[WinntDirectories] 
4 = system32\drivers 
20 = inf


Also notice the 1 being bold. Of course the Windows Setup needs to know where the files are copied from. This is being controlled from the first field after the '=' sign. Now take a look at the list below.

[SourceDisksNames] 
1 = %cdname%,%cdtagfilea%,, 
7 = %cdname%,%cdtagfilea%,,\lang 
8 = %cdname%,%cdtagfilea%,,\lang 
8 = %cdname%,%cdtagfilea%,,\lang 
10 = %cdname%,%cdtagfilea%,,\lang 
11 = %cdname%,%cdtagfilea%,,



As we can see from the list above, 1 equals: 1 = %cdname%,%cdtagfilea%,, The line under [SourceDisksFiles] section, fasttx2k.sys = 1,,,,,,3_,4,1,,,1,4 copies the fasttx2k.sys from the folder to %SystemRoot%\Systems32\Drivers folder. Note: Changing the value of 1 to 11 would also work.


Now we need to add our own hardware ID's to the [HardwareIdsDatabase] section of the txtsetup.sif. The format should be similar to the following:


[HardwareIdsDatabase] 
PCI\VEN_105A&DEV_6629 = "fasttx2k" 
PCI\VEN_105A&DEV_3371 = "fasttx2k" 
PCI\VEN_105A&DEV_3319 = "fasttx2k" 
PCI\VEN_105A&DEV_3373 = "fasttx2k"



Next the driver needs to be loaded during the Textmode phase. To accomplish that, add the following entry to the [SCSI.load] section of the txtsetup.sif:


[SCSI.load] 
fasttx2k = fasttx2k.sys,4



I would suggest to place this line direct below the atapi = atapi.sys,4 line. The atapi.sys is the first driver that is loaded, adding our driver direct below it, would make our Promise driver the 2nd driver loaded during the Textmode phase.


The last entry we have to add is the drivers Friendly name under the [SCSI] section of the txtsetup.sif file. To accomplish that, add the following line:


[SCSI] 
fasttx2k = "Promise FastTrak 378/TX4000/S150 TX Series (tm) Controller"




Now that we have our modified version of the txtsetup.sif file, save it and close the text editor.


;)

Attached Files


Edited by the_doc735, 07 October 2006 - 06:59 AM.


#38
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts

The TXTSETUP.SIF file is the most likely file you need in order to customize the setup. It contains numerous sections, the most important of which are described in the following sections.

The [SourceDisksFiles] Section
The [SourceDisksFiles] section lists all files for the installation. This section is critical for customization because it controls which files are copied during the installation. Using a text editor (such as Notepad), you can search for the [SourceDisksFiles] section to obtain a list of all Windows 2000 installation files. The first few lines of this section are

  	 
[SourceDisksFiles]
_default.pif = 1,,,,,,,1,3
12520437.cpx = 1,,,,,,,2,0,0  ; mdac
12520850.cpx = 1,,,,,,,2,0,0  ; MDac
        :
        :

The following line shows the syntax of each line in the [SourceDisksFiles] section:


filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename


Extra fields specified by commas (,) are Windows NT—specific.

diskid is used when a floppy disk installation is used. (Or multiple CDs?)

subdir is the directory to which files are copied. Codes defined in the [WinntDirectories] section of the TXTSETUP.SIF file are used to identify the destination directory.

upgradecode is a single digit that is used if this is an upgrade from an earlier version. It specifies whether the file is copied during the text-mode portion.

Codes in the [Files] Section of TXTSETUP.SIF for File Copy

Status Code - Copy Action
0 - Always copies the file
1 - Copies the file only if it exists in the installation directory
2 - Does not copy the file if it exists in the installation directory
3 - Does not copy the file



newinstallcode is a single digit that is used if this is a fresh installation. It specifies whether the file is copied during the text-mode portion. The same codes are used as for upgrading Windows 2000 and are described in Table 4.3. The newinstallcode is optional; if it is not included, the file is not copied (code = 3).

newfilename is the name to which the file is renamed if it is copied. As an example, consider this line from the [SourceDisksFiles] section.

autochk.e XE = 1,,,,,,_x,2,0,0


The file AUTOCHK.EXE in this line is on the CD or the disk with diskid d2 defined in the [Media] section. The file also is on Setup Disk 2 (_2), also defined in the [Media] section. The file is installed in directory 2, which is defined in the [WinntDirectories] section. If you look up the [WinntDirectories] section, directory 2 is the System32 subdirectory in the Windows 2000 root directory. The upgrade code and new installation codes are 0, which means that this file always must be copied to the installation directory, whether this is an upgrade from an earlier version of Windows 2000 or a fresh installation.


@raskren :hello:

do you know what this means please:(?) %srgb%

TXTSETUP.SIF
[SourceDisksFiles]
srgb.icm = 1,,,,,,,34,0,0,%srgb%
:wacko:

Edited by the_doc735, 07 October 2006 - 11:20 AM.


#39
the_doc735

the_doc735

    Junior

  • Member
  • Pip
  • 96 posts

The TXTSETUP.SIF file is the most likely file you need in order to customize the setup. It contains numerous sections, the most important of which are described in the following sections.

The [SourceDisksFiles] Section
The [SourceDisksFiles] section lists all files for the installation. This section is critical for customization because it controls which files are copied during the installation. Using a text editor (such as Notepad), you can search for the [SourceDisksFiles] section to obtain a list of all Windows 2000 installation files. The first few lines of this section are

  	 
[SourceDisksFiles]
_default.pif = 1,,,,,,,1,3
12520437.cpx = 1,,,,,,,2,0,0  ; mdac
12520850.cpx = 1,,,,,,,2,0,0  ; MDac
        :
        :


@raskren :hello:

srframe.mmf = 1,,,,,,,,3,3

what if there are 8 commas 'as above'? What does this mean/indicate/signify please?

1 = \I386
3 = file copied to system32\config (then)
3 = does not copy the file

3,3 = contradiction in terms?


:wacko:

Edited by the_doc735, 07 October 2006 - 11:59 AM.


#40
wallace1

wallace1

    Newbie

  • Member
  • 13 posts
  • OS:Windows 7 x64
  • Country: Country Flag

QUOTE (raskren @ Feb 9 2004, 09:01 PM)
The TXTSETUP.SIF file is the most likely file you need in order to customize the setup. It contains numerous sections, the most important of which are described in the following sections.

The [SourceDisksFiles] Section
The [SourceDisksFiles] section lists all files for the installation. This section is critical for customization because it controls which files are copied during the installation. Using a text editor (such as Notepad), you can search for the [SourceDisksFiles] section to obtain a list of all Windows 2000 installation files. The first few lines of this section are

CODE
[SourceDisksFiles]
_default.pif = 1,,,,,,,1,3
12520437.cpx = 1,,,,,,,2,0,0 ; mdac
12520850.cpx = 1,,,,,,,2,0,0 ; MDac
:
:


@raskren

CODEsrframe.mmf = 1,,,,,,,,3,3

what if there are 8 commas 'as above'? What does this mean/indicate/signify please?

1 = \I386
3 = file copied to system32\config (then)
3 = does not copy the file

3,3 = contradiction in terms?


I wonder exactly the same questions!!!!!




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN