Chris Nackers Blog

ConfigMgr and MDT Deployment Solutions

Useful Blogs

User Groups

Unraveling the mystery of txtsetup.sif modifications

The below post is a combination of information i have learned as well as information i have found on the internet.  I posted some "credits" at the bottom to some sources i pulled a few things from. 

Also please note that is method is not supported by Microsoft as detailed here http://support.microsoft.com/kb/288344/, as per usual, use at your own risk, although this is a fairly common method.

Additionally, keep in mind that MDT 2008 will integrated mass storage drivers for you when you are only using the workbench, if you are using the integration with SMS 2003, then MDT 2008 will not integrated mass storage drivers for you and a solution like below is needed. 

When integrating Mass Storage drivers like the Intel driver into either WinPE or your image  I’ve always known the steps i needed to take, but i never really understood where that information was coming from.  When i first started with ICH5 (i think), I already had the modifications, so as new versions of the intel driver came out, i simple added the new strings to my existing information to cover the PCI ID’s.  So if i ever had a new driver that i needed to start from scratch with, how would i get the information i needed to modify txtsetup.sif? 

I would generally recommend that you try using the winpeoem.sif method first, since it a much easier method.  If that does not work, then you most likely will need to use this method that involves modifying the txtsetup.sif file.

I will use the Intel driver to demonstrate

Gathering the needed information from the txtsetup.oem file

1) The PCI ID String

Example: image


2) The INF file name

Example: image


3) The SYS file name

Example:image


4) The Device driver description quoted (although you can change this to whatever you want, i would recommend you use something descriptive)

Example: image

Copying the necessary files to correct locations

1) Copy INF files to “WinPE Source”\i386\inf

image image
2) Copy SYS file and remaining files to “WinPE Source”\i386\system32\drivers

image image

Modifying the txtsetup.sif


1) Open the file “WinPE Source”\i386\txtsetup.sif

2) Locate the section named [HardwareIdsDatabase]

3) Add each PCI ID like this...
[PCI ID String] = [SYS File name (Without .sys)]

Example: image


4) Locate the section named [SCSI.Load] in the txtsetup.sif

5) Add each INF File name without .inf like this...
[SYS File name (Without .sys)] = [SYS File name],4

“The "4" means that the file is in “WinPE Source”\i386\system32\drivers
Example: image

6) Locate the section named [SCSI] in the txtsetup.sif

7) Add each INF File name without .inf like this...
[SYS File name (Without .sys)] = [Device driver description quoted]

“The description can be anything you want”

 

 

 

 

 

 

 

 

 

 

 

Example: image

Now the documentation I have for the Intel driver also shows the following section needs to be added to [SourceDisksFiles] section in txtsetup.sif

image

This is the section i have always struggled with the most as far as figuring out where the heck all the commas and numbers come from.  I will post what i have been able to find for information below.

First a nice picture that details the information, followed by a much more in depth explanation.

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.

Sample screenshot:

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

CODE

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.

Taken from:

http://www.msfn.org/board/index.php?showtopic=14852

and

Windows® 2000 Server Professional Reference
By Karanjit S. Siyan Ph.D.
Publisher : New Riders Publishing
Pub Date : July 10, 2000
ISBN : 0-7357-0952-1
Pages : 1848

Comments

No Comments