Bump version number prior to tagging 0.63.
[sgt/putty] / windows / putty.iss
index 197eb17..0cfd0e4 100644 (file)
@@ -1,57 +1,82 @@
 ; -*- no -*-\r
-; putty.iss\r
+; $Id$\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
+;    Last tested with Inno Setup 5.0.8.\r
 ;\r
 ; TODO for future releases:\r
 ;\r
-;  - It would be neighbourly to set up an [UninstallRun] entry that ran\r
-;    some close cousin of `putty -cleanup', only it should prompt first\r
-;    in case the user wants to keep stuff. And make the `leave it alone'\r
-;    button the DEFAULT. And perhaps warn that on NT-style systems not\r
-;    everything will be caught by this.\r
+;  - It might be nice to have an option to add PSCP, Plink and PSFTP to\r
+;    the PATH. See wish `installer-addpath'.\r
 ;\r
-;  - The Quick Launch bar is an interesting thought. Certainly a fair\r
-;    number of people actually _believe_ my silly joke about how PuTTY\r
-;    is the only thing that makes Windows usable, so perhaps they'd like\r
-;    that. Unchecked by default, though, I think.\r
-;     * does this need to be conditional on the Windows version?\r
+;  - Maybe a "custom" installation might be useful? Hassle with\r
+;    UninstallDisplayIcon, though.\r
 \r
 [Setup]\r
 AppName=PuTTY\r
-AppVerName=PuTTY version 0.57\r
+AppVerName=PuTTY version 0.63\r
+VersionInfoTextVersion=Release 0.63\r
+AppVersion=0.63\r
+VersionInfoVersion=0.63.0.0\r
+AppPublisher=Simon Tatham\r
+AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
+AppReadmeFile={app}\README.txt\r
 DefaultDirName={pf}\PuTTY\r
 DefaultGroupName=PuTTY\r
+SetupIconFile=puttyins.ico\r
 UninstallDisplayIcon={app}\putty.exe\r
 ChangesAssociations=yes\r
+;ChangesEnvironment=yes -- when PATH munging is sorted (probably)\r
 Compression=zip/9\r
+AllowNoIcons=yes\r
 \r
 [Files]\r
-Source: "putty.exe"; DestDir: "{app}"\r
-Source: "pageant.exe"; DestDir: "{app}"\r
-Source: "puttygen.exe"; DestDir: "{app}"\r
-Source: "pscp.exe"; DestDir: "{app}"\r
-Source: "psftp.exe"; DestDir: "{app}"\r
-Source: "plink.exe"; DestDir: "{app}"\r
-Source: "website.url"; DestDir: "{app}"\r
-Source: "..\doc\putty.hlp"; DestDir: "{app}"\r
-Source: "..\doc\putty.cnt"; DestDir: "{app}"\r
-Source: "..\LICENCE"; DestDir: "{app}"\r
-Source: "..\README.txt"; DestDir: "{app}"; Flags: isreadme\r
+; We flag all files with "restartreplace" et al primarily for the benefit\r
+; of unattended un/installations/upgrades, when the user is running one\r
+; of the apps at a time. Without it, the operation will fail noisily in\r
+; this situation.\r
+; This does mean that the user will be prompted to restart their machine\r
+; if any of the files _were_ open during installation (or, if /VERYSILENT\r
+; is used, the machine will be restarted automatically!). The /NORESTART\r
+; flag avoids this.\r
+; It might be nicer to have a "no worries, replace the file next time you\r
+; reboot" option, but the developers have no interest in adding one.\r
+; NB: apparently, using long (non-8.3) filenames with restartreplace is a\r
+; bad idea. (Not that we do.)\r
+Source: "putty.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "pageant.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "puttygen.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "pscp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "psftp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "plink.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete\r
+Source: "website.url"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
+Source: "..\doc\putty.chm"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
+Source: "..\doc\putty.hlp"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
+Source: "..\doc\putty.cnt"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
+Source: "..\LICENCE"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete\r
+Source: "README.txt"; DestDir: "{app}"; Flags: isreadme restartreplace uninsrestartdelete\r
 \r
 [Icons]\r
-Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: startmenu\r
-Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"; Tasks: startmenu\r
-Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"; Tasks: startmenu\r
-Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"; Tasks: startmenu\r
-Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"; Tasks: startmenu\r
-Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"; Tasks: startmenu\r
-Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\r
+Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"\r
+; We have to fall back from the .chm to the older .hlp file on some Windows\r
+; versions.\r
+Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.chm"; MinVersion: 4.1,5.0\r
+Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"; OnlyBelowVersion: 4.1,5.0\r
+Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"\r
+Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"\r
+Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"\r
+Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"\r
+Name: "{commondesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\common\r
+Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\user\r
+; Putting this in {commonappdata} doesn't seem to work, on 98SE at least.\r
+Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PuTTY"; Filename: "{app}\putty.exe"; Tasks: quicklaunchicon\r
 \r
 [Tasks]\r
-Name: startmenu; Description: "Create a &Start Menu group"\r
-Name: desktopicon; Description: "Create a &desktop icon for PuTTY"\r
-Name: associate; Description: "&Associate .PPK files (PuTTY Private Key) with Pageant"\r
+Name: desktopicon; Description: "Create a &desktop icon for PuTTY"; GroupDescription: "Additional icons:"; Flags: unchecked\r
+Name: desktopicon\common; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked\r
+Name: desktopicon\user; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked\r
+Name: quicklaunchicon; Description: "Create a &Quick Launch icon for PuTTY (current user only)"; GroupDescription: "Additional icons:"; Flags: unchecked\r
+Name: associate; Description: "&Associate .PPK files (PuTTY Private Key) with Pageant and PuTTYgen"; GroupDescription: "Other tasks:"\r
 \r
 [Registry]\r
 Root: HKCR; Subkey: ".ppk"; ValueType: string; ValueName: ""; ValueData: "PuTTYPrivateKey"; Flags: uninsdeletevalue; Tasks: associate\r
@@ -60,3 +85,22 @@ Root: HKCR; Subkey: "PuTTYPrivateKey\DefaultIcon"; ValueType: string; ValueName:
 Root: HKCR; Subkey: "PuTTYPrivateKey\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pageant.exe"" ""%1"""; Tasks: associate\r
 Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit"; ValueType: string; ValueName: ""; ValueData: "&Edit"; Tasks: associate\r
 Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puttygen.exe"" ""%1"""; Tasks: associate\r
+; Add to PATH on NT-class OS?\r
+\r
+[UninstallRun]\r
+; -cleanup-during-uninstall is an undocumented option that tailors the\r
+; message displayed.\r
+; XXX: it would be nice if this task weren't run if a silent uninstall is\r
+;      requested, but "skipifsilent" is disallowed.\r
+Filename: "{app}\putty.exe"; Parameters: "-cleanup-during-uninstall"; RunOnceId: "PuTTYCleanup"; StatusMsg: "Cleaning up saved sessions etc (optional)..."\r
+\r
+[Messages]\r
+; Since it's possible for the user to be asked to restart their computer,\r
+; we should override the default messages to explain exactly why, so they\r
+; can make an informed decision. (Especially as 95% of users won't need or\r
+; want to restart; see rant above.)\r
+FinishedRestartLabel=One or more [name] programs are still running. Setup will not replace these program files until you restart your computer. Would you like to restart now?\r
+; This message is popped up in a message box on a /SILENT install.\r
+FinishedRestartMessage=One or more [name] programs are still running.%nSetup will not replace these program files until you restart your computer.%n%nWould you like to restart now?\r
+; ...and this comes up if you try to uninstall.\r
+UninstalledAndNeedsRestart=One or more %1 programs are still running.%nThe program files will not be removed until your computer is restarted.%n%nWould you like to restart now?\r