| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- ; -- Example3.iss --
 
- ; Same as Example1.iss, but creates some registry entries too and allows the end
 
- ; use to choose the install mode (administrative or non administrative).
 
- ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
 
- [Setup]
 
- AppName=My Program
 
- AppVersion=1.5
 
- WizardStyle=modern
 
- DefaultDirName={autopf}\My Program
 
- DefaultGroupName=My Program
 
- UninstallDisplayIcon={app}\MyProg.exe
 
- Compression=lzma2
 
- SolidCompression=yes
 
- OutputDir=userdocs:Inno Setup Examples Output
 
- ChangesAssociations=yes
 
- UserInfoPage=yes
 
- PrivilegesRequiredOverridesAllowed=dialog
 
- [Files]
 
- Source: "MyProg.exe"; DestDir: "{app}"
 
- Source: "MyProg.chm"; DestDir: "{app}"
 
- Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
 
- [Icons]
 
- Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
 
- ; NOTE: Most apps do not need registry entries to be pre-created. If you
 
- ; don't know what the registry is or if you need to use it, then chances are
 
- ; you don't need a [Registry] section.
 
- [Registry]
 
- ; Create "Software\My Company\My Program" keys under CURRENT_USER or
 
- ; LOCAL_MACHINE depending on administrative or non administrative install
 
- ; mode. The flags tell it to always delete the "My Program" key upon
 
- ; uninstall, and delete the "My Company" key if there is nothing left in it.
 
- Root: HKA; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
 
- Root: HKA; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
 
- Root: HKA; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "Language"; ValueData: "{language}"
 
- ; Associate .myp files with My Program (requires ChangesAssociations=yes)
 
- Root: HKA; Subkey: "Software\Classes\.myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile.myp"; Flags: uninsdeletevalue
 
- Root: HKA; Subkey: "Software\Classes\.myp\OpenWithProgids"; ValueType: string; ValueName: "MyProgramFile.myp"; ValueData: ""; Flags: uninsdeletevalue
 
- Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
 
- Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MyProg.exe,0"
 
- Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MyProg.exe"" ""%1"""
 
- ; HKA (and HKCU) should only be used for settings which are compatible with
 
- ; roaming profiles so settings like paths should be written to HKLM, which
 
- ; is only possible in administrative install mode.
 
- Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty; Check: IsAdminInstallMode
 
- Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey; Check: IsAdminInstallMode
 
- Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"; Check: IsAdminInstallMode
 
- ; User specific settings should always be written to HKCU, which should only
 
- ; be done in non administrative install mode.
 
- Root: HKCU; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "UserName"; ValueData: "{userinfoname}"; Check: not IsAdminInstallMode
 
- Root: HKCU; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "UserOrganization"; ValueData: "{userinfoorg}"; Check: not IsAdminInstallMode
 
- [Code]
 
- function ShouldSkipPage(PageID: Integer): Boolean;
 
- begin
 
-   // User specific pages should be skipped in administrative install mode
 
-   Result := IsAdminInstallMode and (PageID = wpUserInfo);
 
- end;
 
 
  |