Batch of miscellaneous tweaks to the Windows installer:
[u/mdw/putty] / windows / putty.iss
index 4af117d..01a7374 100644 (file)
@@ -1,26 +1,22 @@
 ; -*- no -*-\r
-; putty.iss\r
+; $Id$\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
 ;\r
 ; TODO for future releases:\r
 ;\r
 ;  - It might be nice to have an option to add PSCP, Plink and PSFTP to\r
-;    the PATH. This is probably only practical on NT-class systems; I\r
-;    believe doing this on 9x would require mucking around with\r
-;    AUTOEXEC.BAT.\r
+;    the PATH. See wish `installer-addpath'.\r
 ;\r
-;  - Maybe a "custom" installation might be useful? Hassle with icons,\r
-;    though.\r
+;  - Maybe a "custom" installation might be useful? Hassle with\r
+;    UninstallDisplayIcon, though.\r
 \r
 [Setup]\r
 AppName=PuTTY\r
 AppVerName=PuTTY version 0.58\r
 VersionInfoTextVersion=Release 0.58\r
 AppVersion=0.58\r
-;FIXME -- enable this when we've got it going for individual EXEs too\r
-;         and are committed to the version numbering scheme.\r
-;VersionInfoVersion=0.58.0.0\r
+VersionInfoVersion=0.58.0.0\r
 AppPublisher=Simon Tatham\r
 AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
 AppReadmeFile={app}\README.txt\r
@@ -33,25 +29,37 @@ Compression=zip/9
 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.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"; Comment: "SSH, Telnet and Rlogin client";\r
+Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"\r
 Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"\r
 Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"\r
-Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"; Comment: "Command-line interactive SFTP client"\r
-Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"; Comment: "PuTTY SSH key generation utility"\r
-Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"; Comment: "PuTTY SSH authentication agent"\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
@@ -76,4 +84,6 @@ Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit\command"; ValueType: string; Val
 [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