INNO automate wallpapers, fonts, and themes installer for Windows XP

is-welcomeAfter 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\62-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion
Source: "wallpapers\67-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion
Source: "wallpapers\68-1.jpg"; DestDir: "{win}\web\wallpaper"; Flags: overwritereadonly ignoreversion
Source: "wallpapers\69-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