From 65d3afcaa1f411170e2002b1485df16945252ee5 Mon Sep 17 00:00:00 2001
From: Jacob Nevins <jacobn@chiark.greenend.org.uk>
Date: Mon, 18 Mar 2019 21:22:59 +0000
Subject: [PATCH] Remove all trace of the Inno Setup installer.

(Hopefully.)
We haven't even built it for the past two releases.
---
 Buildscr           |  25 +++--------
 CHECKLST.txt       |   1 -
 mksrcarc.sh        |   4 +-
 release.pl         |   2 -
 windows/README.txt |  39 -----------------
 windows/putty.iss  | 104 ---------------------------------------------
 6 files changed, 8 insertions(+), 167 deletions(-)
 delete mode 100644 windows/README.txt
 delete mode 100644 windows/putty.iss

diff --git a/Buildscr b/Buildscr
index 32bdde230..da1ace4b3 100644
--- a/Buildscr
+++ b/Buildscr
@@ -44,7 +44,7 @@ ifneq "$(Ndate)" "" read Days days
 # comparisons with the surrounding actual releases.
 ifeq "$(RELEASE)" "" read Lastver putty/LATEST.VER
 
-# Set up the textual version strings for the docs build and installer.
+# Set up the textual version strings for the docs build and installers.
 # We have one of these including the word 'PuTTY', and one without,
 # which are inconveniently capitalised differently.
 ifneq "$(RELEASE)" "" set Puttytextver PuTTY release $(RELEASE)
@@ -80,7 +80,7 @@ ifneq "$(PRERELEASE)" "" set Autoconfver $(PRERELEASE)~pre$(Ndate).$(vcsid)
 ifneq "$(SNAPSHOT)" "" set Autoconfver $(Lastver)-$(Date).$(vcsid)
 ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Autoconfver Custom.$(Date).$(vcsid)
 
-# Set up the filenames for the Windows installer (minus extension,
+# Set up the filenames for the Windows installers (minus extension,
 # which goes on later).
 ifneq "$(RELEASE)" "" set Isuffix $(RELEASE)-installer
 ifneq "$(PRERELEASE)" "" set Isuffix $(PRERELEASE)-pre$(Ndate)-installer
@@ -91,13 +91,7 @@ set Ifilename64 putty-64bit-$(Isuffix)
 set Ifilenamea32 putty-arm32-$(Isuffix)
 set Ifilenamea64 putty-arm64-$(Isuffix)
 
-# Set up the version string for the Windows installer.
-ifneq "$(RELEASE)" "" set Iversion $(RELEASE)
-ifneq "$(PRERELEASE)" "" set Iversion $(PRERELEASE)-pre$(Ndate).$(vcsid)
-ifneq "$(SNAPSHOT)" "" set Iversion $(Date).$(vcsid)
-ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Iversion Custom-$(Date).$(vcsid)
-
-# Set up the Windows version resource info, for both the installer and
+# Set up the Windows version resource info, for both the installers and
 # the individual programs. This must be a sequence of four 16-bit
 # integers compared lexicographically, and we define it as follows:
 #
@@ -153,14 +147,7 @@ in putty do make -j$(nproc)
 in putty do python test/cryptsuite.py
 enddelegate
 
-# Munge the installer script locally so that it reports the version
-# we're really building.
-in putty/windows do perl -i~ -pe 'BEGIN{$$a=shift@ARGV;}s/^(AppVerName=).*$$/$$1$$a/' '$(Puttytextver)' putty.iss
-in putty/windows do perl -i~ -pe 'BEGIN{$$a=shift@ARGV;}s/^(VersionInfoTextVersion=).*$$/$$1$$a/' '$(Textver)' putty.iss
-in putty/windows do perl -i~ -pe 'BEGIN{$$a=shift@ARGV;}s/^(AppVersion=).*$$/$$1$$a/' '$(Iversion)' putty.iss
-in putty/windows do perl -i~ -pe 'BEGIN{$$a=shift@ARGV;}s/^(VersionInfoVersion=)\d+\.\d+\.\d+\.\d+\r?$$/$$1$$a/' '$(Winver)' putty.iss
-
-# Windowsify LICENCE, since it's going in the Windows installer.
+# Windowsify LICENCE, since it's going in the Windows installers.
 in putty do perl -i~ -pe 'y/\015//d;s/$$/\015/' LICENCE
 
 # Some gratuitous theming for the MSI installer UI.
@@ -174,7 +161,7 @@ mkdir putty/windows/buildold
 mkdir putty/windows/abuild32
 mkdir putty/windows/abuild64
 
-# Build the binaries to go in the installer, in both 32- and 64-bit
+# Build the binaries to go in the installers, in both 32- and 64-bit
 # flavours.
 #
 # For the 32-bit ones, we set a subsystem version of 5.01, which
@@ -207,7 +194,7 @@ ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i h
 # of these versions of the binaries. We'll make the rest below.
 in putty do for hash in md5 sha1 sha256 sha512; do for dir_plat in "build32 w32" "build64 w64" "abuild32 wa32" "abuild64 wa64"; do set -- $$dir_plat; (cd windows/$$1 && $${hash}sum *.exe | sed 's!\( \+\)!\1'$$2'/!;s!$$! (installer version)!') >> $${hash}sums.installer; done; done
 
-# Build a WiX MSI installer, for each of build32 and build64.
+# Build a WiX MSI installer, for each build flavour.
 in putty/windows with wixonlinux do candle -arch x86 -dRealPlatform=x86 -dDllOk=yes -dBuilddir=build32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer32.msi -spdb
 in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=x64 -dDllOk=yes -dBuilddir=build64/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer64.msi -spdb
 in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=Arm -dDllOk=no -dBuilddir=abuild32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installera32.msi -spdb
diff --git a/CHECKLST.txt b/CHECKLST.txt
index 49a29476b..abf5cd462 100644
--- a/CHECKLST.txt
+++ b/CHECKLST.txt
@@ -64,7 +64,6 @@ Making a release candidate build
     * putty/LATEST.VER
     * putty/doc/plink.but
     * putty/doc/pscp.but
-    * putty/windows/putty.iss (four times, on consecutive lines)
 
    and also check that it has reset the definition of 'Epoch' in
    Buildscr.
diff --git a/mksrcarc.sh b/mksrcarc.sh
index 75d0b8db1..9b5331749 100755
--- a/mksrcarc.sh
+++ b/mksrcarc.sh
@@ -13,14 +13,14 @@ text=`{ find . -name CVS -prune -o \
                -name '*.dsp' -prune -o \
                -name '*.dsw' -prune -o \
                -type f -print | sed 's/^\.\///'; } | \
-      grep -ivE 'test/.*\.txt|MODULE|putty.iss|website.url' | grep -vF .ico | grep -vF .icns`
+      grep -ivE 'test/.*\.txt|MODULE|website.url' | grep -vF .ico | grep -vF .icns`
 # These are files which I'm _sure_ should be treated as text, but
 # which zip might complain about, so we direct its moans to
 # /dev/null! Apparently its heuristics are doubtful of UTF-8 text
 # files.
 bintext=test/*.txt
 # These are actual binary files which we don't want transforming.
-bin=`{ ls -1 windows/*.ico windows/putty.iss windows/website.url; \
+bin=`{ ls -1 windows/*.ico windows/website.url; \
        find . -name '*.dsp' -print -o -name '*.dsw' -print; }`
 
 verbosely() {
diff --git a/release.pl b/release.pl
index eb4f7f244..e27db47c9 100755
--- a/release.pl
+++ b/release.pl
@@ -45,8 +45,6 @@ if ($setver) {
     $plink_transcript =~ s/^Unidentified build/Release ${version}/m or die;
     $plink_transcript =~ s/^/\\c /mg;
     &transform("LATEST.VER", sub { s/^\d+\.\d+$/$version/ });
-    &transform("windows/putty.iss", sub {
-        s/^(AppVerName=PuTTY version |VersionInfoTextVersion=Release |AppVersion=|VersionInfoVersion=)\d+\.\d+/$1$version/ });
     our $transforming = 0;
     &transform("doc/pscp.but", sub {
         if (/^\\c.*>pscp$/) { $transforming = 1; $_ .= $pscp_transcript; }
diff --git a/windows/README.txt b/windows/README.txt
deleted file mode 100644
index d929df903..000000000
--- a/windows/README.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-PuTTY README
-============
-
-This is the README file for the PuTTY installer distribution. If
-you're reading this, you've probably just run our installer and
-installed PuTTY on your system.
-
-What should I do next?
-----------------------
-
-If you want to use PuTTY to connect to other computers, or use PSFTP
-to transfer files, you should just be able to run them from the
-Start menu.
-
-If you want to use the command-line-only file transfer utility PSCP,
-you will probably want to put the PuTTY installation directory on
-your PATH. On Windows 7 and similar versions, you can do this at
-Control Panel > System and Security > System > Advanced system
-settings > Environment Variables.
-
-Some versions of Windows will refuse to run HTML Help files (.CHM)
-if they are installed on a network drive. If you have installed
-PuTTY on a network drive, you might want to check that the help file
-works properly. If not, see http://support.microsoft.com/kb/896054
-for information on how to solve this problem.
-
-What do I do if it doesn't work?
---------------------------------
-
-The PuTTY home web site is
-
-    https://www.chiark.greenend.org.uk/~sgtatham/putty/
-
-Here you will find our list of known bugs and pending feature
-requests. If your problem is not listed in there, or in the FAQ, or
-in the manuals, read the Feedback page to find out how to report
-bugs to us. PLEASE read the Feedback page carefully: it is there to
-save you time as well as us. Do not send us one-line bug reports
-telling us `it doesn't work'.
diff --git a/windows/putty.iss b/windows/putty.iss
deleted file mode 100644
index a18452a22..000000000
--- a/windows/putty.iss
+++ /dev/null
@@ -1,104 +0,0 @@
-; -*- no -*-
-;
-; -- Legacy Inno Setup installer script for PuTTY and its related tools.
-;    Last tested with Inno Setup 5.5.9.
-;    (New work should go to the MSI installer; see installer.wxs.)
-;
-; TODO for future releases:
-;
-;  - It might be nice to have an option to add PSCP, Plink and PSFTP to
-;    the PATH. See wish `installer-addpath'.
-;
-;  - Maybe a "custom" installation might be useful? Hassle with
-;    UninstallDisplayIcon, though.
-
-[Setup]
-AppName=PuTTY
-AppVerName=PuTTY version 0.71
-VersionInfoTextVersion=Release 0.71
-AppVersion=0.71
-VersionInfoVersion=0.71.0.0
-AppPublisher=Simon Tatham
-AppPublisherURL=https://www.chiark.greenend.org.uk/~sgtatham/putty/
-AppReadmeFile={app}\README.txt
-DefaultDirName={pf}\PuTTY
-DefaultGroupName=PuTTY
-SetupIconFile=puttyins.ico
-UninstallDisplayIcon={app}\putty.exe
-ChangesAssociations=yes
-;ChangesEnvironment=yes -- when PATH munging is sorted (probably)
-Compression=zip/9
-AllowNoIcons=yes
-OutputBaseFilename=installer
-
-[Files]
-; We flag all files with "restartreplace" et al primarily for the benefit
-; of unattended un/installations/upgrades, when the user is running one
-; of the apps at a time. Without it, the operation will fail noisily in
-; this situation.
-; This does mean that the user will be prompted to restart their machine
-; if any of the files _were_ open during installation (or, if /VERYSILENT
-; is used, the machine will be restarted automatically!). The /NORESTART
-; flag avoids this.
-; It might be nicer to have a "no worries, replace the file next time you
-; reboot" option, but the developers have no interest in adding one.
-; NB: apparently, using long (non-8.3) filenames with restartreplace is a
-; bad idea. (Not that we do.)
-Source: "build32\putty.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "build32\pageant.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "build32\puttygen.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "build32\pscp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "build32\psftp.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "build32\plink.exe"; DestDir: "{app}"; Flags: promptifolder replacesameversion restartreplace uninsrestartdelete
-Source: "website.url"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
-Source: "..\doc\putty.chm"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
-Source: "..\doc\putty.hlp"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
-Source: "..\doc\putty.cnt"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
-Source: "..\LICENCE"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
-Source: "README.txt"; DestDir: "{app}"; Flags: isreadme restartreplace uninsrestartdelete
-
-[Icons]
-Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"; AppUserModelID: "SimonTatham.PuTTY"
-; We have to fall back from the .chm to the older .hlp file on some Windows
-; versions.
-Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.chm"; MinVersion: 4.1,5.0
-Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.hlp"; OnlyBelowVersion: 4.1,5.0
-Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"
-Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"
-Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"
-Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"
-Name: "{commondesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\common; AppUserModelID: "SimonTatham.PuTTY"
-Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\user; AppUserModelID: "SimonTatham.PuTTY"
-; Putting this in {commonappdata} doesn't seem to work, on 98SE at least.
-Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PuTTY"; Filename: "{app}\putty.exe"; Tasks: quicklaunchicon
-
-[Tasks]
-Name: desktopicon; Description: "Create a &desktop icon for PuTTY"; GroupDescription: "Additional icons:"; Flags: unchecked
-Name: desktopicon\common; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked
-Name: desktopicon\user; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked
-Name: quicklaunchicon; Description: "Create a &Quick Launch icon for PuTTY (current user only)"; GroupDescription: "Additional icons:"; Flags: unchecked
-Name: associate; Description: "&Associate .PPK files (PuTTY Private Key) with Pageant and PuTTYgen"; GroupDescription: "Other tasks:"
-
-[Registry]
-Root: HKCR; Subkey: ".ppk"; ValueType: string; ValueName: ""; ValueData: "PuTTYPrivateKey"; Flags: uninsdeletevalue; Tasks: associate
-Root: HKCR; Subkey: "PuTTYPrivateKey"; ValueType: string; ValueName: ""; ValueData: "PuTTY Private Key File"; Flags: uninsdeletekey; Tasks: associate
-Root: HKCR; Subkey: "PuTTYPrivateKey\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pageant.exe,0"; Tasks: associate
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pageant.exe"" ""%1"""; Tasks: associate
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit"; ValueType: string; ValueName: ""; ValueData: "&Edit"; Tasks: associate
-Root: HKCR; Subkey: "PuTTYPrivateKey\shell\edit\command"; ValueType: string; ValueName: ""; ValueData: """{app}\puttygen.exe"" ""%1"""; Tasks: associate
-; Add to PATH on NT-class OS?
-
-[Messages]
-; Since it's possible for the user to be asked to restart their computer,
-; we should override the default messages to explain exactly why, so they
-; can make an informed decision. (Especially as 95% of users won't need or
-; want to restart; see rant above.)
-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?
-; This message is popped up in a message box on a /SILENT install.
-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?
-; ...and this comes up if you try to uninstall.
-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?
-; Old versions of this installer used to prompt to remove saved settings
-; and the like after the point this message was printed, so it seems
-; polite to warn people that that no longer happens.
-ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components?%n%nNote that this will not remove any saved sessions or random seed file that %1 has created. These are harmless to leave on your system, but if you want to remove them, you should answer No here and run 'putty.exe -cleanup' before you uninstall.
-- 
GitLab