[SourceFilesURL] #include "url.inc" [CabinetBuild] #ifdef PRIVATE ; ; This section names all the CAB files which need to be created at ; patch install time. It is assumed that some CopyFiles= entry will ; be looking for this CAB, and that will get it copied to where it ; needs to be. If no such demand for this CAB appears, it will not be ; built (because it would just be discarded.) ; ; create = filelist, reference, reference, ... ; ; When moving to SPn+1, change all "new\spX.cab" entries to ; "new\spX+1.cab", change all "spX.cab.Files" entries to ; "spX+1.cab.Files", and add a new self-referencing line like: ; ; new\sp1.cab = sp1.cab.Files, sp1_cab, spf_sp1_cab ; #endif new\sp1.cab = sp1.cab.Files, sp1_cab, spf_sp1_cab new\sp1.cab = sp1.cab.Files, driver_cab, system32, drivers, dllcache new\sp1.cab = sp1.cab.Files, oem_Sources new\sp1.cab = sp1.cab.Files, oem_FPCab new\sp1.cab = sp1.cab.Files, oem_IIS6Cab new\sp1.cab = sp1.cab.Files, oem_IMSCab new\sp1.cab = sp1.cab.Files, oem_MgrCab new\sp1.cab = sp1.cab.Files, oem_MMSCab new\sp1.cab = sp1.cab.Files, oem_MdmCab new\sp1.cab = sp1.cab.Files, oem_OscCab new\sp1.cab = sp1.cab.Files, oem_WinCab new\sp1.cab = sp1.cab.Files, oem_SysCab new\sp1.cab = sp1.cab.Files, oem_W32Cab #ifdef PRIVATE ; ; This means a CAB file named "sp1.cab" must be built (and placed in ; the "new" directory) before update.exe begins copying. The files ; which must be in sp1.cab are listed in [sp1.cab.Files]. The files ; which may be scanned as patching candidates are referred to by ; "sp1_cab", "spf_sp1_cab", "driver_cab", "drivers", and "system32", ; and "drivers", which are defined below in [CabBuildReferences]. ; Some of these name a directory which may be scanned for matching ; file names, and others name a specific existing CAB file which may ; be scanned for matching file names. ; ; If the sp1.cab file already exists in the update\new directory, it will ; be assumed that it's contents are correct, and it will not be built. ; ; Some files which are going into sp1.cab may also be destined for other ; directories during the installation as well, but duplicate files will ; never be downloaded. ; ; Based on the sp1_cab reference, if an sp1.cab file already exists ; on the system, each of its files will be scanned to see if they already ; match the hash found in [SourceDisksFiles]. It is customary for the ; target cab file to also be listed as a reference this way, so that ; existing sp1.cab contents could be used as-is or as reference files. ; #endif [CabinetBuildReferences] #ifdef PRIVATE ; ; reference = DestinationDir[, filename] ; ; This section defines each of the reference names mentioned in the ; [CabBuild] section as either a CAB file in a specific directory, ; or as a directory which will be scanned for file names which match ; any listed in [sp1.cab] ; ; Other than these explicitly named CAB files, compressed files will ; not be considered for patch references. Ex: ntoskrnl.ex_ will not ; be considered to build ntoskrnl.exe, unless it is explictly listed ; here, as in "ntoskrnl = Drivers.files, ntoskrnl.ex_". (And even in ; this case, ntoskrnl.ex_ must be a CAB, not LZExpand-compressed.) ; ; When moving to SPn+1, add a definition for SPn+1_cab like: ; sp1_cab = CopyAlways.DriverCab.files, sp1.cab ; #endif sp1_cab = CopyAlways.DriverCab.files, sp1.cab driver_cab = CopyAlways.DriverCab.files, driver.cab drivers = Drivers.files dllcache = Cache.files system32 = System32.files oem_Sources = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",,3,"i386" oem_FPCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\fp40ext.cab oem_IIS6Cab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\iis6.cab oem_IMSCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\ims.cab oem_MgrCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\manager.cab oem_MMSCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\mmssetup.cab oem_MdmCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\modem.cab oem_OscCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\osc.cab oem_WinCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\win.cab oem_SysCab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\winsys.cab oem_W32Cab = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath",i386\winsys32.cab #ifdef PRIVATE ; ; the spf_XXX entries are used to refer to any CABs stashed in the ; ServicePackFiles directory from any previous service pack installs. ; ; When moving to SPn+1, add a definition for SPn+1_cab like: ; spf_sp1_cab = ServicePackFiles.CommonFiles, sp1.cab ; #endif spf_sp1_cab = ServicePackFiles.CommonFiles, sp1.cab #ifdef PRIVATE [CabinetBuildAliases] ; [The feature which would use this info is not implemented.] ; ; these aliases define additional file names which could be inspected ; to discover a needed file. Names beginning with @ are the names of ; registry keys which contain an explicit path/filename of the alias. ; classes.zip = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\java\lang\reflect","path" tclasses.zip = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\sun\tools\jar", "path" msjdbc.zip = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\com\ms\jdbc\odbc", "path" classes.cer = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\java\lang\reflect","signer" tclasses.cer = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\sun\tools\jar", "signer" msjdbc.cer = @HKLM,"SOFTWARE\Microsoft\Code Store Database\Global Namespace\Java Packages\com\ms\jdbc\odbc", "signer" #endif [sp1.cab.Files] #ifdef PRIVATE ; ; This section enumerates the files which must be in sp1.cab when ; setup is finished. Each of these files must be found in the usual ; [SourceDisksFiles] section, though they could be renamed going into ; sp1.cab. ; ; ex: ntkrnlmp.exe, ntoskrnl.exe would obtain the ntoskrnl.exe file as ; defined in [SourceDisksFiles], possibly using other ntoskrnl.exe ; files as patching references, but then it will be put into sp1.cab ; as "ntkrnlmp.exe". This mechanism is really defined to allow duplicate ; files with differing names to be added to the CAB if needed, or ; inclusion of a file which is targeted to a subdirectory in the ; [SourceDisksFiles] section, such as uniproc\ntdll.dll. Also note that ; the targetfilename could include a path. ; ; targetfilename[,sourcefilename] ; ; When moving to SPn+1, change the name of this section and the name of ; the include file. ; #endif #include "sp1.inc" [SourceDisksFiles] #include "sdf.inc"