Ver código fonte

Update whatsnew. Not yet complete nor is everything actually done.

Martijn Laan 1 ano atrás
pai
commit
b0ba12aa66
1 arquivos alterados com 48 adições e 0 exclusões
  1. 48 0
      whatsnew.htm

+ 48 - 0
whatsnew.htm

@@ -45,6 +45,54 @@ For conditions of distribution and use, see <a href="https://jrsoftware.org/file
   </ul>
   </li>
 </ul>
+<p><span class="head2">Support for processor architectures improved</span></p>
+<ul>
+  <li>Setup can now detect support for x64 emulation when running on Windows 11 for Arm, and can be instructed to select 64-bit install mode in that case which was not possible before. See the first example below.</li>
+  <li>[Setup] section directives <tt>ArchitecturesInstallIn64BitMode</tt> and <tt>ArchitecturesAllowed</tt> now both support boolean expressions. Additionally, extra platform identifiers were added. This enables for example:
+    <ul>
+      <li><tt>
+; Select 64-bit install mode on any x64-compatible OS (x64 + Win11 Arm64).<br/>
+ArchitecturesInstallIn64BitMode=x64compatible</tt><br/><br/></li>
+      <li><tt>
+; Only allow installation on systems that aren't x64-compatible.<br/>
+; Useful in a situation where you have separate x86 & x64 installers,<br/>
+; and don't want users of x64-compatible OSes (x64 + Win11 Arm64)<br/>
+; erroneously running the x86 installer.<br/>
+ArchitecturesAllowed=not x64compatible</tt><br/><br/></li>
+      <li><tt>
+; Require two arch matches at the same time:<br/>
+; If an Arm installer installs both Arm64 and Arm32 binaries,<br/>
+; you technically should ensure that the OS actually supports both:<br/>
+ArchitecturesAllowed=arm64 and arm32compatible</tt><br/><br/></li>
+      <li><tt>
+; Same goes for an x64-compatible installer shipping some 32-bit<br/>
+; binaries:<br/>
+ArchitecturesAllowed=x64compatible and x86compatible</tt><br/><br/></li>
+      <li><tt>
+; Installing a component that cannot operate in an emulated<br/>
+; environment, such as an x64 device driver.<br/>
+ArchitecturesAllowed=x64os</tt><br/><br/></li>
+      <li><tt>
+; Allow installation on x64-compatible systems, but deny one of them:<br/>
+; (Imagine if in the future there were 3 x64-compatible OSes!)<br/>
+ArchitecturesAllowed=x64compatible and not arm64</tt><br/><br/></li>
+      <li><tt>
+; Never select 64-bit install mode but require a 64-bit OS anyway<br/>
+; (e.g., because you're accessing HKLM64):<br/>
+ArchitecturesInstallIn64BitMode=<br/>
+ArchitecturesAllowed=win64</tt><br/><br/>
+The full list of new platform identifiers is: <tt>x64compatible</tt>, <tt>x64os</tt>, <tt>x86compatible</tt>, <tt>x86os</tt>, <tt>arm32compatible</tt>, and <tt>win64</tt>. See the new "Architecture Identifiers" help topic for more details.</br></br>
+All of the above is backward compatible so no changes are needed for your existing scripts. For example this works unchanged:</br></br>
+<tt>ArchitecturesInstallIn64BitMode=x64 arm64</tt></br></br>
+Do note that the <tt>x64</tt> indentifier is now deprecated and the compiler will issue a warning if you use it anyway. It will substitute <tt>x64os</tt>, but <tt>x64compatible</tt> is preferred in most cases and it's simple to adopt it: just replace <tt>x64</tt> with <tt>x64compatible</tt>, and any <tt>IsX64</tt> with <tt>IsX64Compatible</tt>.</br></br>
+</li>
+    </ul>
+  </li>
+  <li>Setup now logs the machine types supported by the system. For example, when running on Windows 11 for Arm it now logs: "Machine types supported by system: x86 x64 arm32 arm64".</li>
+  <li>Pascal Scripting change: Add new <tt>IsX64Compatible</tt>, <tt>IsX64OS</tt>, <tt>IsX86Compatible</tt>, <tt>IsX86OS</tt>, and <tt>IsArm32Compatible</tt> support functions.</li>
+  <li>The three <i>64Bit*.iss</i> example scripts have been updated.</li>
+  <li>Message OnlyOnTheseArchitectures is not used anymore. Instead existing message WindowsVersionNotSupported is now shown when Setup is started on an architecture which is not allowed by the <tt>ArchitecturesAllowed</tt> expression. (But please do not remove the message from translation files.)</li>
+</ul>
 <p><span class="head2">Support for #include files improved</span></p>
 <ul>
   <li>The Compiler IDE now opens up to 20 #include files in tabs, instead of up to 10.</li>