We can copy files to Windows Installation Media and have them copy to either the Windows Folder or System Drive During Installation.
To do this we need to store the files we want on the installation media, specifically:
The $$ Folder
Will write contents to the folder:
We can create a subfolders within this. The Dell Windows 7 Professional Reinstallation ISO for example has the following files:
This gives the default wallpaper on a Windows Installation found in:
The $1 folder
On the other hand will write directly to:
Any subfolder within this will write to a corresponding subfolder within. The Dell Windows 7 Reinstallation ISO for example contains the folder:
This gives the following:
Out of the Box Experience (OOBE.cmd)
The Dell Windows 7 Reinstallation ISO has a script file called OOBE.cmd found in:
By default it contains:
- Lines 4-6 apply OEM SLP.
- Line 9-11 installs a .msu file. %SYSTEMDRIVE%\hotfix\Windows6.1-KB2482122-%PROCESSOR_ARCHITECTURE%.msu
- %SYSTEMDRIVE% becomes C:\ for most Windows 7 installs.
- %PROCESSOR_ARCHITECTURE% becomes x64 for a 64 Bit install.
- Windows6.1-KB2482122-x64.msu present in sources\$OEM$\$1\Hotfix gets copied over to
C:\Hotfix and line 9 installs it.
- Line 13-16 applies OEM customisation such as the Dell OEM Logos.
Knowing this we can modify the OOBE.slp to install .msu files. We will demonstrate this by installing Google Chrome:
For installation of .exe files it is slightly more difficult as we can only slipstream installers that are present as .msu files. We can however add lines to the OOBE to add runonce commands. These will run installers when the first administrator is logged on.
Microsoft .Net Framework 4.7.2
Microsoft Security Essentials
Windows Live Movie Maker
Dell OS Recovery Tool
We can make the following folders:
I will also add some other folders and add some silent installs. For more details see silent-install.net. The OOBE.slp file can be modified to contain the following run once commands. Add the reg key in steps of 5, there are two lines, one corresponding to the name of your software which will display in a list and the second which in quotation marks specify the location and filename of the installer including the .exe extension and any software switches including in the installation instructions for your software. Use what I have below as a basis. If you need to match the location in the code and of the installer on the OS Drive. It will skip the code.
At the end of the Windows Installation, when the user first logs in, the software will install. You may have to accept prompts to run the software, probably there are additional switches which could be added in the lines above to fully automate this.