/*++ Copyright (c) 1993 Microsoft Corporation Module Name: spsif.c Abstract: Section names and other data used for indexing into setup information files. Author: Ted Miller (tedm) 31-August-1993 Revision History: --*/ #include "spprecmp.h" #pragma hdrstop // // [DiskDriverMap] // PWSTR SIF_DISKDRIVERMAP = L"DiskDriverMap"; PWSTR SIF_SETUPMEDIA = L"SourceDisksNames"; PWSTR SIF_FILESONSETUPMEDIA = L"SourceDisksFiles"; // // [Files.KeyboardLayout] // PWSTR SIF_KEYBOARDLAYOUTFILES = L"Files.KeyboardLayout"; PWSTR SIF_KEYBOARDLAYOUTDESC = L"Keyboard Layout"; // // [Files.Vga] // PWSTR SIF_VGAFILES = L"Files.Vga"; // // [WinntDirectories] // PWSTR SIF_NTDIRECTORIES = L"WinntDirectories"; // // [SystemPartitionFiles] // PWSTR SIF_SYSPARTCOPYALWAYS = L"SystemPartitionFiles"; // // [SystemPartitionRoot] // PWSTR SIF_SYSPARTROOT = L"SystemPartitionRoot"; // // [SystemPartitionUtilities] // PWSTR SIF_SYSPARTUTIL = L"SystemPartitionUtilities"; // // [Keyboard Layout] // PWSTR SIF_KEYBOARDLAYOUT = L"Keyboard Layout"; #if defined(REMOTE_BOOT) // // [Files.RemoteBoot] // PWSTR SIF_REMOTEBOOTFILES = L"Files.RemoteBoot"; #endif // defined(REMOTE_BOOT) // // [SpecialFiles] // Multiprocessor = // Uniprocessor = // Atdisk = // abiosdsk = // mouseclass = // keyboardclass = // PWSTR SIF_SPECIALFILES = L"SpecialFiles"; PWSTR SIF_MPKERNEL = L"Multiprocessor"; PWSTR SIF_UPKERNEL = L"Uniprocessor"; PWSTR SIF_ATDISK = L"atdisk"; PWSTR SIF_ABIOSDISK = L"abiosdsk"; PWSTR SIF_MOUSECLASS = L"MouseClass"; PWSTR SIF_KEYBOARDCLASS = L"KeyboardClass"; // // [bootvid] // PWSTR SIF_BOOTVID = L"bootvid"; // // [hal] // PWSTR SIF_HAL = L"hal"; // // [ntdetect] // standard = // PWSTR SIF_NTDETECT = L"ntdetect"; PWSTR SIF_STANDARD = L"standard"; // // [BootBusExtenders] // PWSTR SIF_BOOTBUSEXTENDERS = L"BootBusExtenders"; // // [BusExtenders] // PWSTR SIF_BUSEXTENDERS = L"BusExtenders"; // // [InputDevicesSupport] // PWSTR SIF_INPUTDEVICESSUPPORT = L"InputDevicesSupport"; // // Driver load lists. // PWSTR SIF_SCSICLASSDRIVERS = L"ScsiClass"; PWSTR SIF_DISKDRIVERS = L"DiskDrivers"; PWSTR SIF_CDROMDRIVERS = L"CdRomDrivers"; PWSTR SIF_FILESYSTEMS = L"FileSystems"; // // [SetupData] // ProductType = // 0 = workstation // 1 = server // 2 = advanced server (subset of server) // 3 = datacenter server (subset of advanced server) // 4 = personal (subset of workstation) // // FreeDiskSpace = // // FreeSysPartDiskSpace = // // DefaultPath = // // DefaultLayout = // // LoadIdentifier = // // BaseVideoLoadId = // // OsLoadOptions = // // OsLoadOptionsVar = // // OsLoadOptionsVarAppend = // // SetupSourceDevice = // // SetupSourcePath = // // DontCopy = // // RequiredMemory = // // SetupCmdlinePrepend = // // PWSTR SIF_SETUPDATA = L"SetupData"; PWSTR SIF_DISKSPACEREQUIREMENTS = L"DiskSpaceRequirements"; PWSTR SIF_PRODUCTTYPE = L"ProductType"; PWSTR SIF_MAJORVERSION = L"MajorVersion"; PWSTR SIF_MINORVERSION = L"MinorVersion"; PWSTR SIF_WINDIRSPACE = L"WindirSpace"; PWSTR SIF_FREESYSPARTDISKSPACE = L"FreeSysPartDiskSpace"; PWSTR SIF_DEFAULTPATH = L"DefaultPath"; PWSTR SIF_LOADIDENTIFIER = L"LoadIdentifier"; PWSTR SIF_BASEVIDEOLOADID = L"BaseVideoLoadId"; PWSTR SIF_OSLOADOPTIONS = L"OsLoadOptions"; PWSTR SIF_OSLOADOPTIONSVAR = L"OsLoadOptionsVar"; PWSTR SIF_OSLOADOPTIONSVARAPPEND = L"OsLoadOptionsVarAppend"; PWSTR SIF_SETUPSOURCEDEVICE = L"SetupSourceDevice"; PWSTR SIF_SETUPSOURCEPATH = L"SetupSourcePath"; PWSTR SIF_DONTCOPY = L"DontCopy"; PWSTR SIF_REQUIREDMEMORY = L"RequiredMemory"; PWSTR SIF_SETUPCMDPREPEND = L"SetupCmdlinePrepend"; PWSTR SIF_PAGEFILE = L"Pagefile"; // // [nls] // AnsiCodePage = , // OemCodePage = , // MacCodePage = , // UnicodeCasetable = // OemHalFont = // DefaultLayout = // PWSTR SIF_NLS = L"nls"; PWSTR SIF_ANSICODEPAGE = L"AnsiCodepage"; PWSTR SIF_OEMCODEPAGE = L"OemCodepage"; PWSTR SIF_MACCODEPAGE = L"MacCodepage"; PWSTR SIF_UNICODECASETABLE = L"UnicodeCasetable"; PWSTR SIF_OEMHALFONT = L"OemHalFont"; PWSTR SIF_DEFAULTLAYOUT = L"DefaultLayout"; // // 1.0 repair disk sections. // PWSTR SIF_REPAIRWINNTFILES = L"Repair.WinntFiles"; PWSTR SIF_REPAIRSYSPARTFILES = L"Repair.BootFiles"; // // UPGRADE SIF SECTIONS // // // Upgrade Registry sections // ========================= // // // 1. The following section allows us to specify services to disable which may // cause popups when net services are disabled: // // [NetServicesToDisable] // ServiceName1 // ... // // 2. The following section allows us to remove keys which have been removed // since the Windows NT 3.1 release: // // [KeysToDelete] // RootName1( System | Software | Default | ControlSet ), RootRelativePath1 // ... // // 3. The following sections allow us to add/change keys / values under keys // which have changed since the Windows NT 3.1 release: // // [KeysToAdd] // RootName1, RootRelativePath1, ValueSection1 (can be "") // ... // // [ValueSection1] // name1 , type1, value1 // name2 , ... // // Format of the value is the following // // a. Type REG_SZ: name , REG_SZ, "value string" // b. Type REG_EXPAND_SZ name , REG_EXPAND_SZ, "value string" // c. Type REG_MULTI_SZ name , REG_MULTI_SZ, "value string1", "value string2", ... // d. Type REG_BINARY name , REG_BINARY, byte1, byte2, ... // e. Type REG_DWORD name , REG_DWORD, dword // f. Type REG_BINARY_DWORD name , REG_BINARY_DWORD, dword1, dword2, ... // PWSTR SIF_NET_SERVICES_TO_DISABLE = L"NetServicesToDisable"; PWSTR SIF_KEYS_TO_DELETE = L"KeysToDelete"; PWSTR SIF_KEYS_TO_ADD = L"KeysToAdd"; PWSTR SIF_SYSTEM_HIVE = L"System"; PWSTR SIF_SOFTWARE_HIVE = L"Software"; PWSTR SIF_DEFAULT_HIVE = L"Default"; PWSTR SIF_CONTROL_SET = L"ControlSet"; PWSTR SIF_REG_SZ = L"REG_SZ"; PWSTR SIF_REG_EXPAND_SZ = L"REG_EXPAND_SZ"; PWSTR SIF_REG_MULTI_SZ = L"REG_MULTI_SZ"; PWSTR SIF_REG_BINARY = L"REG_BINARY"; PWSTR SIF_REG_BINARY_DWORD = L"REG_BINARY_DWORD"; PWSTR SIF_REG_DWORD = L"REG_DWORD"; // // Upgrade File Sections // ===================== // // // // Files to backup, delete or move // PWSTR SIF_FILESDELETEONUPGRADE = L"Files.DeleteOnUpgrade"; PWSTR SIF_FILESBACKUPONUPGRADE = L"Files.BackupOnUpgrade"; PWSTR SIF_FILESBACKUPONOVERWRITE = L"Files.BackupOnOverwrite"; // // Directories to delete // PWSTR SIF_DIRSDELETEONUPGRADE = L"Directories.DeleteOnUpgrade"; #if defined(_AMD64_) || defined(_X86_) PWSTR SIF_FILESMOVEBEFOREMIGRATION = L"Files.MoveBeforeMigration"; PWSTR SIF_FILESDELETEBEFOREMIGRATION = L"Files.DeleteBeforeMigration"; #endif // defined(_AMD64_) || defined(_X86_) // // Files to copy // PWSTR SIF_FILESUPGRADEWIN31 = L"Files.UpgradeWin31"; PWSTR SIF_FILESNEWHIVES = L"Files.NewHives"; // // New sections and keys added to setup.log // PWSTR SIF_NEW_REPAIR_WINNTFILES = L"Files.WinNt"; PWSTR SIF_NEW_REPAIR_SYSPARTFILES = L"Files.SystemPartition"; PWSTR SIF_NEW_REPAIR_SIGNATURE = L"Signature"; PWSTR SIF_NEW_REPAIR_VERSION_KEY = L"Version"; PWSTR SIF_NEW_REPAIR_NT_VERSION = NULL; // Will be created during the // initialization of setupdd // PWSTR SIF_NEW_REPAIR_NT_VERSION_TEMPLATE= L"WinNt%d.%d"; PWSTR SIF_NEW_REPAIR_PATHS = L"Paths"; PWSTR SIF_NEW_REPAIR_PATHS_SYSTEM_PARTITION_DEVICE = L"SystemPartition"; PWSTR SIF_NEW_REPAIR_PATHS_SYSTEM_PARTITION_DIRECTORY = L"SystemPartitionDirectory"; PWSTR SIF_NEW_REPAIR_PATHS_TARGET_DEVICE = L"TargetDevice"; PWSTR SIF_NEW_REPAIR_PATHS_TARGET_DIRECTORY = L"TargetDirectory"; PWSTR SETUP_REPAIR_DIRECTORY = L"repair"; PWSTR SETUP_LOG_FILENAME = L"\\setup.log"; PWSTR SIF_NEW_REPAIR_FILES_IN_REPAIR_DIR = L"Files.InRepairDirectory"; // // Unattended mode sections (winnt.sif) // PWSTR SIF_DATA = WINNT_DATA_W; PWSTR SIF_UNATTENDED = WINNT_UNATTENDED_W; PWSTR SIF_SETUPPARAMS = WINNT_SETUPPARAMS_W; PWSTR SIF_CONFIRMHW = WINNT_U_CONFIRMHW_W; PWSTR SIF_GUI_UNATTENDED = WINNT_GUIUNATTENDED_W; PWSTR SIF_UNATTENDED_INF_FILE = WINNT_GUI_FILE_W; PWSTR SIF_UNIQUEID = WINNT_D_UNIQUEID_W; PWSTR SIF_ACCESSIBILITY = WINNT_ACCESSIBILITY_W; PWSTR SIF_EXTENDOEMPART = L"ExtendOemPartition"; PWSTR SIF_REMOTEINSTALL = L"RemoteInstall"; #if defined(REMOTE_BOOT) PWSTR SIF_REMOTEBOOT = L"RemoteBoot"; PWSTR SIF_ENABLEIPSECURITY = L"EnableIpSecurity"; #endif // defined(REMOTE_BOOT) PWSTR SIF_REPARTITION = L"Repartition"; PWSTR SIF_USEWHOLEDISK = L"UseWholeDisk"; PWSTR SIF_INCOMPATIBLE_TEXTMODE = WINNT_OVERWRITE_EXISTING_W; // // Alternate Source data // PWSTR SIF_UPDATEDSOURCES = WINNT_SP_UPDATEDSOURCES_W; //PWSTR SIF_ALTCOPYFILESSECTION = WINNT_SP_ALTCOPY_W; PWSTR SpPlatformSpecificLookup( IN PVOID SifHandle, IN PWSTR Section, IN PWSTR Key, IN ULONG Index, IN BOOLEAN Fatal ) /*++ Routine Description: Look up a value in a platform-specific section and if not found, then in a platform-independent section. The platform-specific section name is the platform-independent name with . appended to it (where