You are right, I do have a [Code] bit too:
function NextButtonClick(CurPageID: integer): boolean;
begin
  Result := True;
Â
 if (CurPageID = wpSelectTasks) then
 begin
  DownloadPage.Clear;
  if (WizardIsTaskSelected('downloadhelp')) then
   AddFileForDownload('{#HelpDocSetupURL}', 'HelpDocSetup.exe',
      '{#GetSHA256OfFile("..\HelpNDoc\CHM\Output\MSAHelpDocumentationSetup.exe")}');
 end
  else
 if (CurPageID = wpReady) then
 begin
  DownloadPage.Show;
  try
   try
    DownloadPage.Download;
    Result := True;
   except
    SuppressibleMsgBox(
     AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK);
    Result := False;
   end;
  finally
   DownloadPage.Hide;
  end;
 end;
end;
But, it isn't just an archive. It is a secondary installer than places the unpacked file in application folders directory:
[Setup]
DisableReadyPage=True
DisableReadyMemo=True
DisableFinishedPage=True
UsePreviousSetupType=False
UsePreviousTasks=False
UsePreviousLanguage=False
FlatComponentsList=False
AlwaysShowComponentsList=False
ShowComponentSizes=False
AppName=Meeting Schedule Assistant Help Documentation
AppVersion={#AppVerText}
CreateAppDir=False
Uninstallable=no
OutputBaseFilename=MSAHelpDocumentationSetup
SignTool=SignTool /d {#SignedDesc} /du $q{#AppURL}$q /f {#SignedPfx} /p {#SignedPw} /t {#SignedTimeStamp} /v /fd SHA256 $f
AppId={{#####}
[Files]
Source: "MeetSchedAssist.chm"; DestDir: "{param:InstallPath}"; Flags: ignoreversion
I also offer the user to download this setup from within my software and run it to install the help. I'll read up on the things you mentioned.
Andrew