Can anyone explain to me, why Windows 95 always adds the SET BLASTER value to the MS-DOS mode configuration in .PIF files, even if I don't specify it? I know Creative drivers will add SET BLASTER to AUTOEXEC.BAT automatically, but I'm curious what adds it to the ".PIF" files. Basically whenever I have defined something like 'SET BLASTER=A220 I5 D1 H5 P300 T6' in my environment, it will be added to the PIF, even if I don't set it myself. Are the Creative drivers that aggressive with their modifications or is it a Windows 95 feature I can't find any documentation for?
is it a Windows 95 feature I can't find any documentation for?
Probably, I didn't know about it for a long time either! This doesn't seem to be documented on various contemporary MSDN or Technet CDs I checked, only in the OEM Preinstallation Kit (OPK) User's Guide in the "MS-DOS Utilization" chapter:
1MS-DOS Mode Configuration Options 2 3An individual MS-DOS window can be configured to run in MS-DOS mode by starting 4an MS-DOS Prompt as a window, right-clicking the MS-DOS icon in the MS-DOS 5Prompt title bar, clicking Properties, and then clicking the Advanced button. 6When the end user selects the MS-DOS Mode and the Specify A New MS-DOS 7Configuration check boxes, he or she can change the configuration of the 8CONFIG.SYS and AUTOEXEC.BAT files that will be loaded when the real-mode MS-DOS 9runs. In addition, the end user can click the Configuration button, and a 10Configuration wizard displays a set of options that will automatically 11reconfigure AUTOEXEC.BAT and CONFIG.SYS. 12 13The list of MS-DOS mode options presented in the Configuration dialog box in the 14Select MS-DOS Configuration Options dialog box is completely configurable by 15modifying entries in the system registry. Many options are considered 16‘‘standard’’ and have a unique identifier bit that allows the Configuration 17wizard to automatically create the appropriate entries in the shortcut’s 18AUTOEXEC.BAT and CONFIG.SYS fields. 19 20All entries are stored under the registry branch: 21 22HKEY_LOCAL_COMPUTER\Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions 23 24Each subkey in this registry branch describes a unique option. OEMs can add any 25number of options. The key names are generally a unique English description of 26the option, such as ‘‘EMS.’’ The value of the key is a language-specific 27description of the option that will appear in the list box, such as ‘‘Expanded 28Memory (EMS).’’ 29 30Under each option key there are several values used by the Configuration wizard 31that determine which options should be used and which should be presented to the 32end user. The following table describes these keys. 33 34Option Data Description 35 type 36(Default) String Language-specific description of 37 the option. 38Flags Binary Dword bit field of options listed 39 Dword in the following table. 40Order Binary Unsigned dword field used to sort 41 Dword options when the Configuration 42 wizard inserts the lines in 43 AUTOEXEC.BAT and CONFIG.SYS. 44StdOption Binary For standard options, this dword 45(optional) Dword specifies the bit mask for the 46 current option. 47TipText String Language-specific text to be 48(optional) displayed by the Configuration 49 wizard when the user clicks the 50 option in the Configuration dialog 51 box. 52Autoexec.Bat String Specifies a line to add to 53(optional) AUTOEXEC.BAT if the option is 54 selected. 55Config.Sys String Specifies a line to add to 56(optional) CONFIG.SYS if the option is 57 selected. 58Autoexec.Bat1 String If the DOSOPTF_MULTIPLE flag is set 59to in the Flags value, these entries 60AutoExec.Bat9 will be added to AUTOEXEC.BAT in
…Show last 55 lines
61 addition to the ‘‘Autoexec.Bat’’ 62 value. 63Config.Sys1 String If the DOSOPTF_MULTIPLE flag is set 64to in the Flags value, these entries 65Config.Sys9 will be added to CONFIG.SYS in 66 addition to the ‘‘Config.Sys’’ 67 value. 68 69The following table describes the flags and the values for those flags used by 70the options in the previous table. 71 72Flag #define Value Description 73DOSOPTF_DEFAULT 0x00000001 This option will be selected by 74 default in the Configuration 75 wizard’s list box. 76DOSOPTF_SUPPORTED 0x00000002 This bit must be set or else the 77 option will be considered ‘‘not 78 supported.’’ Entries are always 79 made for all standard options by 80 Windows 95 Setup even if Setup 81 can not determine how to support 82 the option. 83DOSOPTF_ALWAYSUSE 0x00000004 If this flag is set, the option 84 will never be presented as a 85 choice to the user (they won’t 86 see it in the Configuration 87 wizard’s list box) and the 88 AUTOEXEC.BAT and CONFIG.SYS 89 entries will always be added to 90 the configuration. 91DOSOPTF_USESPMODE 0x00000008 This flag should be set for any 92 entry that sets the computer 93 into protected mode. Generally, 94 this is only set for EMS 95 providers such as EMM386. 96DOSOPTF_PROVIDESUMB 0x00000010 This flag should be set for any 97 entry that provides UMBs that 98 can be used by MS-DOS. All 99 entries that appear with an 100 order greater than this entry 101 and have a DeviceHigh or 102 LoadHigh specified in the entry 103 will be loaded high. 104DOSOPTF_NEEDSETUP 0x00000020 Used only for the mouse on 105 upgrade installations. This 106 forces the Configuration wizard 107 to search the hard disk for a 108 mouse driver the first time it 109 is used. 110DOSOPTF_INDOSSTART 0x00000040 The current option is supported 111 by an entry in DOSSTART.BAT. 112DOSOPTF_MULTIPLE 0x00000080 The option has multiple 113 CONFIG.SYS or AUTOEXEC.BAT 114 entries.
Maybe if you check that registry key you'll find the SET BLASTER there?
These options in the registry are what appears in the box when you click "Configuration" in the "Advanced Program Settings". As for my original post, I found out, that Windows will update the PIF files with environmental variables when you leave the single application mode. That was the reason the PIF files were changed.