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