After a rebuild of a Windows XP workstation, there are several items that I like to add to my installation. These items include several official Microsoft themes, a handful of wallpapers, and a few fonts. To perform this task manually has become mundane, so I created an installer that would install these features automatically. This greatly reduces my setup time and works as advertised. Having tested several scripting languages, I have selected INNOSetup. I chose INNOSetup to compile this script, since it seems to be the only application that would handle non-TTF fonts with the FLAG fontisnttruetype.
Using INNOSetup, the following script permitted me to simplify automation of a few extras. I created this script to add Themes, Wallpapers and Fonts. This is a piece of that script to generalize the idea. This script can be easily modified to add as many wallpapers, fonts, themes, registry entries, and other configuration changes.
Here is my script, tested and works.
[Setup] AppName=MyCoolApp AppVerName=MyCoolApp XP (Version 0.00) DefaultDirName={tmp} OutputBaseFilename=MyCoolApp XP Compression=lzma/ultra WizardImageFile=embedded\WizardImage.bmp WizardSmallImageFile=embedded\WizardSmallImage.bmp DisableDirPage=yes DisableReadyMemo=yes DisableProgramGroupPage=yes DisableFinishedPage=yes [Files] ; Install Additional Wallpapers Source: "wallpapers-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion Source: "wallpapers-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion Source: "wallpapers-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion Source: "wallpapers-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion ; Install Additional Fonts Source: "fonts\AvenirLTStd-Black.otf"; DestDir: "{fonts}"; FontInstall: "Avenir LT Std 95 Black"; Flags: onlyifdoesntexist uninsneveruninstall fontisnttruetype Source: "fonts\AvenirLTStd-Book.otf "; DestDir: "{fonts}"; FontInstall: "Avenir LT Std 45 Book"; Flags: onlyifdoesntexist uninsneveruninstall fontisnttruetype Source: "fonts\AvenirLTStd-Medium.otf"; DestDir: "{fonts}"; FontInstall: "Avenir LT Std 65 Medium"; Flags: onlyifdoesntexist uninsneveruninstall fontisnttruetype Source: "fonts\CALIBRI.TTF"; DestDir: "{fonts}"; FontInstall: "Calibri"; Flags: onlyifdoesntexist uninsneveruninstall Source: "fonts\CALIBRIB.TTF"; DestDir: "{fonts}"; FontInstall: "Calibri Bold"; Flags: onlyifdoesntexist uninsneveruninstall Source: "fonts\CALIBRII.TTF"; DestDir: "{fonts}"; FontInstall: "Calibri Italic"; Flags: onlyifdoesntexist uninsneveruninstall Source: "fonts\CALIBRIZ.TTF"; DestDir: "{fonts}"; FontInstall: "Calibri Bold Italic"; Flags: onlyifdoesntexist uninsneveruninstall ; Install Additional Themes Source: "themes\Luna.theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion Source: "themes\Royale Noir (Modified).Theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion Source: "themes\Royale Noir.Theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion Source: "themes\Royale.Theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion Source: "themes\Windows Classic.theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion Source: "themes\Zune.Theme"; DestDir: "{win}\Resources\Themes"; Flags: overwritereadonly ignoreversion ; Luna Theme Source: "themes\Luna\luna.msstyles"; DestDir: "{win}\Resources\Themes\Luna\"; Flags: overwritereadonly ignoreversion Source: "themes\Luna\Shell\Homestead\shellstyle.dll"; DestDir: "{win}\Resources\Themes\Luna\Shell\Homestead\"; Flags: overwritereadonly ignoreversion Source: "themes\Luna\Shell\Metallic\shellstyle.dll"; DestDir: "{win}\Resources\Themes\Luna\Shell\Metallic\"; Flags: overwritereadonly ignoreversion Source: "themes\Luna\Shell\NormalColor\shellstyle.dll"; DestDir: "{win}\Resources\Themes\Luna\Shell\NormalColor\"; Flags: overwritereadonly ignoreversion ; Royale Theme Source: "themes\Royale\Royale.msstyles"; DestDir: "{win}\Resources\Themes\Royale\"; Flags: overwritereadonly ignoreversion Source: "themes\Royale\Shell\NormalColor\ShellStyle.dll"; DestDir: "{win}\Resources\Themes\Royale\Shell\NormalColor\"; Flags: overwritereadonly ignoreversion ; Royale Noir Theme Source: "themes\Royale Noir\luna.msstyles"; DestDir: "{win}\Resources\Themes\Royale Noir"; Flags: overwritereadonly ignoreversion Source: "themes\Royale Noir\Shell\Metallic\Shellstyle.dll"; DestDir: "{win}\Resources\Themes\Royale Noir\Shell\Metallic\"; Flags: overwritereadonly ignoreversion Source: "themes\Royale Noir\Shell\NormalColor\metal_ss.dll"; DestDir: "{win}\Resources\Themes\Royale Noir\Shell\NormalColor\"; Flags: overwritereadonly ignoreversion ; Zune Theme Source: "themes\Zune\zune.msstyles"; DestDir: "{win}\Resources\Themes\Zune\"; Flags: overwritereadonly ignoreversion Source: "themes\Zune\Shell\NormalColor\shellstyle.dll"; DestDir: "{win}\Resources\Themes\Zune\Shell\NormalColor\"; Flags: overwritereadonly ignoreversion