Inno Setup script example

msiexpert created the topic: Inno Setup script example
I have been working on an inno script this past week, which now appears to be
working correctly. I thought I would post it to the list server so it will
become part of the nug archives for future reference.

TimberValue is a program written on a Mac, and is currently being distributed
on both the Mac and Windows platforms. It creates two files: 1) a data file
with the extension .tvd and 2) a license file with the extension .tvl

Both of these files are RB database files.

Files with the .tvd extension are named by the user, and have the icon
TmbrDatabase.ico
Files with the .tvl extension are named TmbrLicense.tvl and have the icon
TmbrLicense.ico

Icons were created using the Mask-R-Aid program.

My inno setup data is contained in a folder called “Inno Setup Data” which I
have placed on the Windows desktop. The path to this folder is C:\Documents and
Settings\TJ Hanson\Desktop\Inno Setup Data. The icons are contained in a folder
called “Icons” within the “Inno Setup Data” folder.

One quirk I noticed is that the icons may not appear until you reboot the
Windows platform. I assume Windows wants a reboot before it looks at the new
registry items.

If anyone sees anything wrong, please let me know. I haven’t noticed any
problems. Icons appear as they should; the program launches when a database
icon is double clicked; the program launches when a database icon is dragged on
top of the program icon; and the SampleProject.tvd file brought in by the inno
script is given the correct database icon.

The whole script was too big for posting, so below are the Tasks, Files, Icons
and Registry sections

Thanks to everyone who may have helped with this script. TJ
=============================================================

[Setup]

[Languages]

[Tasks]
Name: “desktopicon”; Description: “{cm:CreateDesktopIcon}”; GroupDescription:
“{cm:AdditionalIcons}”; Flags: unchecked

[Files]
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\TimberValue.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\TimberValue Libs\*”; DestDir: “{app}\TimberValue Libs”; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\Icons\*”;
DestDir: “{app}\Icons”; Flags: ignoreversion recursesubdirs createallsubdirs
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\andale32.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\arial32.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\ReadMe.rtf”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\SampleProject.tvd”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\SLA.pdf”;
DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\User
Manual.pdf”; DestDir: “{app}”; Flags: ignoreversion

[Icons]
Name: “{group}\TimberValue”; Filename: “{app}\TimberValue.exe”
Name: “{group}\{cm:UninstallProgram,TimberValue}”; Filename: “{uninstallexe}”
Name: “{commondesktop}\TimberValue”; Filename: “{app}\TimberValue.exe”; Tasks:
desktopicon

[Registry]
Root: HKCR; Subkey: TimberDatabase\shell\open\command; ValueType: string;
ValueName: ; ValueData: “””{app}\{{TimberValue.exe}”” “”%1″””
Root: HKCR; Subkey: TimberDatabase\DefaultIcon; ValueType: string; ValueName: ;
ValueData: {app}\Icons\TmbrDatabase.ico,0
Root: HKCR; Subkey: TimberDatabase; ValueType: string; ValueName: ; ValueData:
TimberValue Database File; Flags: uninsdeletekey
Root: HKCR; Subkey: .tvd; ValueType: string; ValueName: ; ValueData:
TimberDatabase; Flags: uninsdeletekey

Root: HKCR; Subkey: TimberLicense\shell\open\command; ValueType: string;
ValueName: ; ValueData: “””{app}\{{TimberValue.exe}”” “”%1″””
Root: HKCR; Subkey: TimberLicense\DefaultIcon; ValueType: string; ValueName: ;
ValueData: {app}\Icons\TmbrLicense.ico,0
Root: HKCR; Subkey: TimberLicense; ValueType: string; ValueName: ; ValueData:
TimberValue License File; Flags: uninsdeletekey
Root: HKCR; Subkey: .tvl; ValueType: string; ValueName: ; ValueData:
TimberLicense; Flags: uninsdeletekey

[Run]