Jelajahi Sumber

Don't autostrip issigverify when ISSigKeys is empty but error instead. Also mention .issig in the help file.

Martijn Laan 4 bulan lalu
induk
melakukan
fe896a83a1

+ 2 - 1
ISHelp/isetup.xml

@@ -1709,7 +1709,8 @@ Instructs Setup to proceed to comparing time stamps (last write/modified time) i
 <p>This flag should only be used on files private to your application, <i>never</i> on shared system files.</p>
 <p>This flag should only be used on files private to your application, <i>never</i> on shared system files.</p>
 </flag>
 </flag>
 <flag name="issigverify">
 <flag name="issigverify">
-<p>This flag instructs the compiler and Setup to verify the file when compiled into the installation files by the compiler or when copied from an existing file by Setup, using a key from the <link topic="issigkeyssection">[ISSigKeys] section</link>. Ignored if the [ISSigKeys] section is empty or doesn't exist.</p>
+<p>This flag instructs the compiler and Setup to verify the file when compiled into the installation files by the compiler or when copied from an existing file by Setup, using a key from the <link topic="issigkeyssection">[ISSigKeys] section</link>.</p>
+<p>The verification requires an .issig signature file to be present next to the source file, created using the <link topic="issigtool">Inno Setup Signature Tool</link>.</p>
 <p>If the verification fails the compiler will abort the compilation and Setup will ask the user to abort, retry, or ignore.</p>
 <p>If the verification fails the compiler will abort the compilation and Setup will ask the user to abort, retry, or ignore.</p>
 <p>This flag cannot be combined with the <tt>sign</tt>, or <tt>signonce</tt> flags. Use <tt>signcheck</tt> instead.</p>
 <p>This flag cannot be combined with the <tt>sign</tt>, or <tt>signonce</tt> flags. Use <tt>signcheck</tt> instead.</p>
 </flag>
 </flag>

+ 1 - 0
Projects/Src/Compiler.Messages.pas

@@ -305,6 +305,7 @@ const
   SCompilerFilesWarningSharedFileSysWow64 = 'DestDir should not be set to ' +
   SCompilerFilesWarningSharedFileSysWow64 = 'DestDir should not be set to ' +
     '"{syswow64}" when the "sharedfile" flag is used. See the "sharedfile" ' +
     '"{syswow64}" when the "sharedfile" flag is used. See the "sharedfile" ' +
     'documentation in the help file for details.';
     'documentation in the help file for details.';
+  SCompilerFilesISSigVerifyMissingISSigKeys = 'Flag "issigverify" may not be used when the "ISSigKeys" section doesn''t exist or is empty.';
 
 
   { [Icons] }
   { [Icons] }
   SCompilerIconsNamePathNotSpecified = 'Parameter "Name" must include a path for the icon, ' +
   SCompilerIconsNamePathNotSpecified = 'Parameter "Name" must include a path for the icon, ' +

+ 2 - 2
Projects/Src/Compiler.SetupCompiler.pas

@@ -5385,8 +5385,8 @@ begin
         end;
         end;
 
 
         if (ISSigKeyEntries.Count = 0) and (foISSigVerify in Options) then
         if (ISSigKeyEntries.Count = 0) and (foISSigVerify in Options) then
-          Exclude(Options, foISSigVerify);
-        
+          AbortCompile(SCompilerFilesISSigVerifyMissingISSigKeys);
+
         if (SignTools.Count = 0) and (Sign in [fsYes, fsOnce]) then
         if (SignTools.Count = 0) and (Sign in [fsYes, fsOnce]) then
           Sign := fsNoSetting
           Sign := fsNoSetting
         else if (Sign = fsYes) and (foISSigVerify in Options) then
         else if (Sign = fsYes) and (foISSigVerify in Options) then