simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Tue Aug 21 07:29:58 BST 2018


TL;DR:
  9f6b59fa Fix platform field in Windows on Arm installers.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2018-08-21 07:29:58

commit 9f6b59fa2e02527d5b3b6faca627f27d5fba245d
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=9f6b59fa2e02527d5b3b6faca627f27d5fba245d;hp=20a9bd5642ac66ae1190069989d33c5fcefe5672
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu Aug 16 19:01:36 2018 +0100

    Fix platform field in Windows on Arm installers.
    
    I had previously left the platform field (in line 7 of the installer
    database's SummaryInformation table) set at "x86" instead of any value
    you might expect such as "Arm" or "Arm64", because I found that an MSI
    file with either of the latter values was rejected by WoA's msiexec as
    invalid.
    
    It turns out this is because I _also_ needed to upgrade the installer
    database schema version to a higher value than I even knew existed:
    apparently the problem is that those platform fields aren't present in
    the older schema. A test confirms that this works.
    
    Unfortunately, WiX 3 doesn't actually know _how_ to write MSIs with
    those platform values. But that's OK, because diffing the x86 and x64
    MSIs against each other suggested that there were basically no other
    changes in the database tables - so I can just generate the installer
    as if for x64, and then rewrite that one field after installer
    construction using GNOME msitools to take apart the binary file
    structure and put it back together. (Those are the same tools I'm
    using as part of my system for running WiX on Linux in the first
    place.)
    
    This commit introduces a script to do that post-hoc bodging, and calls
    it from Buildscr. I've also changed over the choice of Program Files
    folder for the Arm installers so that it's ProgramFiles64Folder
    instead of ProgramFilesFolder - so now the Windows on Arm installer
    doesn't incongruously default to installing in C:\Program Files (x86)!

 Buildscr               |  9 ++++++--
 windows/installer.wxs  |  9 +++++---
 windows/msiplatform.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 5 deletions(-)



More information about the tartarus-commits mailing list