Browse Source

Getting rid of ispack because of a lack of added value and a lack of downloads. So: The standard Inno Setup installer now always tries to download the encryption module if it's missing, like the QuickStart Pack installer could download it before. This can be disabled using a /NODOWNLOAD=1 command line parameter.

Martijn Laan 4 years ago
parent
commit
9162f7b064
2 changed files with 41 additions and 2 deletions
  1. 34 2
      setup.iss
  2. 7 0
      whatsnew.htm

+ 34 - 2
setup.iss

@@ -78,7 +78,7 @@ Name: english; MessagesFile: "files\Default.isl"
 #expr FindFiles("files\Languages\")
 
 [Messages]
-HelpTextNote=/PORTABLE=1%nEnable portable mode.
+HelpTextNote=/PORTABLE=1%nEnable portable mode.%n/NODOWNLOAD=1%nDisable ISCrypt.dll download.
 ; Two "Setup" on the same line looks weird, so put a line break in between
 english.WelcomeLabel1=Welcome to the Inno Setup%nSetup Wizard
 
@@ -176,6 +176,7 @@ Source: "files\ISPP.chm"; DestDir: "{app}"; Flags: ignoreversion touch
 #endif
 Source: "files\{#isppdll}"; DestName: "ISPP.dll"; DestDir: "{app}"; Flags: ignoreversion signonce touch
 Source: "files\ISPPBuiltins.iss"; DestDir: "{app}"; Flags: ignoreversion touch
+Source: "{tmp}\ISCrypt.dll"; DestDir: "{app}"; Flags: ignoreversion external skipifsourcedoesntexist touch
 
 [INI]
 Filename: "{app}\isfaq.url"; Section: "InternetShortcut"; Key: "URL"; String: "https://jrsoftware.org/isfaq.php" 
@@ -199,4 +200,35 @@ Filename: "{app}\Compil32.exe"; WorkingDir: "{app}"; Description: "{cm:LaunchPro
 
 [UninstallRun]
 ; The /UNASSOC line will be automatically skipped on portable mode, because of Uninstallable being set to no
-Filename: "{app}\Compil32.exe"; Parameters: "/UNASSOC"; RunOnceId: "RemoveISSAssoc"
+Filename: "{app}\Compil32.exe"; Parameters: "/UNASSOC"; RunOnceId: "RemoveISSAssoc"
+
+[Code]
+const
+  ISCryptHash = '2f6294f9aa09f59a574b5dcd33be54e16b39377984f3d5658cda44950fa0f8fc';
+
+function NextButtonClick(CurPageID: Integer): Boolean;
+var
+  DownloadPage: TDownloadWizardPage;
+  ExistingFileName: String;
+begin
+  Result := True;
+  try
+    if (CurPageID = wpReady) and not (ExpandConstant('{param:nodownload|0}') = '1') then begin
+      ExistingFileName := ExpandConstant('{app}\ISCrypt.dll');
+      if not FileExists(ExistingFileName) or (GetSHA256OfFile(ExistingFileName) <> ISCryptHash) then begin;
+        if DownloadPage = nil then
+          DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil);
+        DownloadPage.Clear;
+        DownloadPage.Add('https://jrsoftware.org/download.php/iscrypt.dll', 'ISCrypt.dll', ISCryptHash);
+        DownloadPage.Show;
+        try
+          DownloadPage.Download;
+        finally
+          DownloadPage.Hide;
+        end;
+      end;
+    end;
+  except
+    Log(GetExceptionMessage);
+  end;
+end;

+ 7 - 0
whatsnew.htm

@@ -29,6 +29,13 @@ For conditions of distribution and use, see <a href="https://jrsoftware.org/file
 <p><b>Want to be notified by e-mail of new Inno Setup releases?</b> <a href="https://jrsoftware.org/ismail.php">Subscribe</a> to the Inno Setup Mailing List!</p>
 
 <p><a name="6.1.3"></a><span class="ver">6.1.3-dev </span><span class="date">(?)</span></p>
+<ul>
+  <li>The QuickStart Pack installer has been removed because of a lack of added value and a lack of downloads.</li>
+  <li>The standard Inno Setup installer now always tries to download the encryption module if it's missing, like the QuickStart Pack installer could download it before. This can be disabled using a /NODOWNLOAD=1 command line parameter.</li>
+</ul>
+</p>
+
+<p>
 <ul>
   <li>Added new [Setup] section directives <tt>MissingMessagesWarning</tt> and <tt>NotRecognizedMessagesWarning</tt> to disable warnings about messages missing or not recognized for a language.</li>
   <li>Links displayed by [Setup] section directives <tt>LicenseFile</tt>, <tt>InfoBeforeFile</tt> and <tt>InfoAfterFile</tt> are now executed as the original user if possible when clicked.</li>