bpo-34977: Add Windows App Store package (GH-11027)

Also adds the PC/layout script for generating layouts on Windows.
diff --git a/Tools/msi/sign_build.ps1 b/Tools/msi/sign_build.ps1
new file mode 100644
index 0000000..6668eb3
--- /dev/null
+++ b/Tools/msi/sign_build.ps1
@@ -0,0 +1,34 @@
+<#
+.Synopsis
+    Recursively signs the contents of a directory.
+.Description
+    Given the file patterns, code signs the contents.
+.Parameter root
+    The root directory to sign.
+.Parameter patterns
+    The file patterns to sign
+.Parameter description
+    The description to add to the signature (optional).
+.Parameter certname
+    The name of the certificate to sign with (optional).
+.Parameter certsha1
+    The SHA1 hash of the certificate to sign with (optional).
+#>
+param(
+    [Parameter(Mandatory=$true)][string]$root,
+    [string[]]$patterns=@("*.exe", "*.dll", "*.pyd"),
+    [string]$description,
+    [string]$certname,
+    [string]$certsha1,
+    [string]$certfile
+)
+
+$tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
+Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force
+
+pushd $root
+try {
+    Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files (gci -r $patterns)
+} finally {
+    popd
+}
\ No newline at end of file