diff --git a/.gitignore b/.gitignore
index 5f9471e..4a48c6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -290,8 +290,11 @@ __pycache__/
/QuickLook.Installer/C_QuickLookComponents.wxs
/Build/*
!/Build/Assets
-!/Build/AppxManifest.*
+!/Build/AppxManifest.xml
!/Build/assetslayout.resfiles
!/Build/priconfig.xml
!/Build/micasetup.json
-!/Build/micasetup.cmd
+!/Build/openssl-sign.cnf
+!/Build/sideload.crt
+!/Build/sideload.key
+!/Build/sideload.pfx
\ No newline at end of file
diff --git a/Build/AppxManifest.dev.xml b/Build/AppxManifest.dev.xml
deleted file mode 100644
index ccb1168..0000000
--- a/Build/AppxManifest.dev.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- QuickLook
- Paddy Xu
- Bring macOS “Quick Look” feature to Windows
- Assets\storelogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Build/AppxManifest.xml b/Build/AppxManifest.xml
index c3d5e9d..3b5e7ec 100644
--- a/Build/AppxManifest.xml
+++ b/Build/AppxManifest.xml
@@ -3,10 +3,15 @@
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10">
+
+
+
QuickLook
- Paddy Xu
+
+
+ emako
Bring macOS “Quick Look” feature to Windows
Assets\storelogo.png
@@ -19,7 +24,7 @@
-
+
diff --git a/Build/micasetup.cmd b/Build/micasetup.cmd
deleted file mode 100644
index caa5c17..0000000
--- a/Build/micasetup.cmd
+++ /dev/null
@@ -1,4 +0,0 @@
-cd /d %~dp0
-@REM 7z a Package.7z .\Package\* -t7z -mx=5 -mf=BCJ2 -r -y
-makemica micasetup.json
-@pause
diff --git a/Build/openssl-sign.cnf b/Build/openssl-sign.cnf
new file mode 100644
index 0000000..9ee93c0
--- /dev/null
+++ b/Build/openssl-sign.cnf
@@ -0,0 +1,13 @@
+[req]
+default_bits = 2048
+prompt = no
+default_md = sha256
+distinguished_name = dn
+x509_extensions = v3_req
+
+[dn]
+CN = CE36AF3D-FF94-43EB-9908-7EC8FD1D29FB
+
+[v3_req]
+keyUsage = critical, digitalSignature
+extendedKeyUsage = codeSigning
diff --git a/Build/sideload.crt b/Build/sideload.crt
new file mode 100644
index 0000000..f338d55
--- /dev/null
+++ b/Build/sideload.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDMjCCAhqgAwIBAgIUBIWdItfat0Fw6npbHI2W7HE/0KYwDQYJKoZIhvcNAQEL
+BQAwLzEtMCsGA1UEAwwkQ0UzNkFGM0QtRkY5NC00M0VCLTk5MDgtN0VDOEZEMUQy
+OUZCMB4XDTI1MDUxMzE3NDgzNVoXDTI4MDUxMjE3NDgzNVowLzEtMCsGA1UEAwwk
+Q0UzNkFGM0QtRkY5NC00M0VCLTk5MDgtN0VDOEZEMUQyOUZCMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnAtbhjH01YmWv1U98kMj3epdpuZLE04pGXOR
+xfdBb1zX8Q75hy5SmIaHrsow7fTXfHsUzuJEmanllMbJGUpi46fLsb8Ijd4uQgXO
+wSDfIXrm34Buzpk6EKwEWmRMyORmfPwy0A+XdTHydDhEXndy1eGPJ1ZZnldVI8Ho
+ZF2MW35QBZDjlWZh3RppWNMksvlngrOX4PFfJ+DtOQUvNswbpyqVATMFBk9kShGM
+XHuieibzDlzxGNKSn3tDvutLBW5hm7iLqEuAeM7dwSac4C+N5FKWnXJndkN3k8AN
+nD0MHlErN1dLoJQqvAaCarZr8RSPhdanVOylMGkt97NLYZrLTQIDAQABo0YwRDAO
+BgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFJEL
+e4QaWs4H2djQ6nnnc/30sZ/nMA0GCSqGSIb3DQEBCwUAA4IBAQBYBXkl/vEsGUHI
+qogCfb/DxFlsm059sxHAIhaNjuoTlgwzgj6KSPbKsfnYVMHZFqkg4AaTuRs9iqTL
+TStM14OjG95gn+7fJ4zxqquEEytk9yb2xj9ZpLAvzZzUrw5qo1lmM7yPRso38l62
+9g1G1/MVP6pO03QWKzvSV+IlU3DIP3M2r74G8dexL5/Cut1LkOc/tn2ZYt3Ij95e
+RM2vqxzK2pw6IAVG3wdNGAyN9K8BATRuAXFV6RXkeEBHFNV3wpyq4W+H6hpsrMJM
+rMZUUqLa8BTUQAsZ1jmL+dRmj2rESeOaOO9jPks4J4c8+v8aJQBmZhvxRyjyMtdL
+pWHSCCgm
+-----END CERTIFICATE-----
diff --git a/Build/sideload.key b/Build/sideload.key
new file mode 100644
index 0000000..6272606
--- /dev/null
+++ b/Build/sideload.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcC1uGMfTViZa/
+VT3yQyPd6l2m5ksTTikZc5HF90FvXNfxDvmHLlKYhoeuyjDt9Nd8exTO4kSZqeWU
+xskZSmLjp8uxvwiN3i5CBc7BIN8heubfgG7OmToQrARaZEzI5GZ8/DLQD5d1MfJ0
+OERed3LV4Y8nVlmeV1UjwehkXYxbflAFkOOVZmHdGmlY0ySy+WeCs5fg8V8n4O05
+BS82zBunKpUBMwUGT2RKEYxce6J6JvMOXPEY0pKfe0O+60sFbmGbuIuoS4B4zt3B
+JpzgL43kUpadcmd2Q3eTwA2cPQweUSs3V0uglCq8BoJqtmvxFI+F1qdU7KUwaS33
+s0thmstNAgMBAAECggEABS51XWPhmt5E5K6Pw4XKNkS207jC68MFJ1oIkE0bsvcf
+boWORe2vrW6OKSt/627dYZNJXMNI/tyUNIKooSUwr8QzGysE6DJlUSjrNXYszT+i
+VJqUU1o614c2unT+fbnj01OhMPp2OjHXOK0OTCAQQ/IySYlFqYssgbxJxgdl2+XX
+rDiSk5PvZ0Z8PUuG7EvNbRAnUmIQDVTd81My0kPk4M0w8Rg2p0sIN5klIDxTzC98
+5iUvS+53xch4f8jJOr8s7J/56R+tnIoqfVkIDI3Q4CUhq3s0DAC7GP4vpoynGXn0
+pLzHvOttFbqgcHkS2zrVOXKwl4Zym4p+kMCub6BCmwKBgQDcGzCvrMon4fIJrymG
+lmGZMeN8acjD0MKDT8JPgHkwXTz61AbOC2EGoOpWNqrYGOCv6xSMPiub1un6Y5X2
+KIuAJm+bY+py0Ed+EzZjrFkQpGt6xQ3FY2aFvA5uS3esgcF+OtcUrXEEq0dK9bZ6
+HB9P90QuND72bvfx9wjLon0dvwKBgQC1fcRbLpqA2lSGglcRoioA/okMPyMk7jH3
+n3IHjnpjsBu1FPrWH8Tqtop4vrEVS1cxM7P7FXWwWPqUH/2XbCk1R3T9ZD+i1kHi
+qvSqp4L0dfTk6ibZpywGXRnpQzT5kKJTrSSx9L7Ni00HcvCI1+p4XNdJZm7jNDSy
+dGSPg1ox8wKBgB6TaF//ENYZfRX7TzlzCnvNglx2FX2eMmcrXULOBgfB7AasDYXx
+7riNAgCX94OtcQj/DwusV0J+yGIQE3TujPJwZHChoJ/ybvwEjzmpZ3X4YTXcydzx
+wfwx848+zJEaNVbjtZ0Zuul7IZw4JfEwluj04HPKrjRtleP2/THMkLThAoGBAJYh
+BwB2OJBGCo2J3ARWJHDWHP/oamXuM58mYekmTs+PqhvM0wG1HesaPMlM1KdMvz+Q
+CV21jrjlocJOBDPx4NSV24yQFKPaoH2j9OgF0SnvOTjzCFgbFSveb8SpN3UJ031s
+SGJ8lijpBjsXNSm9kdMm2V96QFfpo33LEjQ077NJAoGARnnvnenmfwlu/5Oq2Ojs
+WWzOxXTpiGXLnbUNUvQMvqXxGygCGoA18vVveLr6eKfojM8iKtGF91S9NsUkBEkd
+VKOFnc9OQ5dtoBkN6XZBUCmJCzQZS20A3jq9oionsJlIWOgb/X3L1cS2SZ3ocgKS
+lCCN2IGaKiGJCPJprpFW7fg=
+-----END PRIVATE KEY-----
diff --git a/Build/sideload.pfx b/Build/sideload.pfx
new file mode 100644
index 0000000..f3f18c4
Binary files /dev/null and b/Build/sideload.pfx differ
diff --git a/Scripts/pack-7z.ps1 b/Scripts/pack-7z.ps1
new file mode 100644
index 0000000..4e59ef3
--- /dev/null
+++ b/Scripts/pack-7z.ps1
@@ -0,0 +1,10 @@
+$version = git describe --always --tags --exclude latest
+
+Set-Location ../Build
+
+Write-Output "This file makes QuickLook portable." >> .\Package\portable.lock
+
+Remove-Item .\QuickLook-$version.7z -ErrorAction SilentlyContinue
+7z.exe a .\QuickLook-$version.7z .\Package\* -t7z -mx=9 -ms=on -m0=lzma2 -mf=BCJ2 -r -y
+
+Remove-Item .\Package\portable.lock
diff --git a/Scripts/pack-all.ps1 b/Scripts/pack-all.ps1
new file mode 100644
index 0000000..38fc08a
--- /dev/null
+++ b/Scripts/pack-all.ps1
@@ -0,0 +1,6 @@
+# Please build the msi installation package in advance
+powershell -file "$(SolutionDir)Scripts\pack-7z.ps1"
+powershell -file "$(SolutionDir)Scripts\pack-setup.ps1"
+powershell -file "$(SolutionDir)Scripts\pack-appx.ps1"
+powershell -file "$(SolutionDir)Scripts\sign-appx.ps1"
+Pause
diff --git a/Scripts/pack-appx-dev.ps1 b/Scripts/pack-appx-dev.ps1
deleted file mode 100644
index 5f1db75..0000000
--- a/Scripts/pack-appx-dev.ps1
+++ /dev/null
@@ -1,35 +0,0 @@
-$version = git describe --always --tags "--abbrev=0" --exclude latest
-
-if($version.Split('.').Length.Equals(3))
-{
- $version += ".0"
-}
-
-function Update-Version($path)
-{
- $xml = [xml](Get-Content $path)
- $xml.Package.Identity.Version="$version"
- $xml.Save("$path")
-}
-
-if(-not (Test-Path env:CI))
-{
- # prapare folders
- Remove-Item -Recurse ..\Build\Appx -ErrorAction SilentlyContinue
- Copy-Item -Recurse ..\Build\Package ..\Build\Appx\Package
- Copy-Item -Recurse ..\Build\Assets ..\Build\Appx\Assets
- Copy-item ..\Build\AppxManifest.dev.xml ..\Build\Appx\AppxManifest.xml
-
- # set version to git version
- Update-Version("..\Build\Appx\AppxManifest.xml")
-
- # generate resources
- $priExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\makepri.exe'
- .$priExe new /pr ..\Build\Appx /cf ..\Build\priconfig.xml /of ..\Build\Appx\resources.pri
-
- # packing
- $packExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\makeappx.exe'
- $folder = '..\Build\Appx\'
-
- .$packExe pack /l /o /d ..\Build\Appx /p ..\Build\QuickLook-$version.appx
-}
diff --git a/Scripts/pack-appx.ps1 b/Scripts/pack-appx.ps1
index 95b8d2b..298303e 100644
--- a/Scripts/pack-appx.ps1
+++ b/Scripts/pack-appx.ps1
@@ -24,11 +24,11 @@ if(-not (Test-Path env:CI))
Update-Version("..\Build\Appx\AppxManifest.xml")
# generate resources
- $priExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\makepri.exe'
+ $priExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\makepri.exe'
.$priExe new /pr ..\Build\Appx /cf ..\Build\priconfig.xml /of ..\Build\Appx\resources.pri
# packing
- $packExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\makeappx.exe'
+ $packExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\makeappx.exe'
$folder = '..\Build\Appx\'
.$packExe pack /l /o /d ..\Build\Appx /p ..\Build\QuickLook-$version.appx
diff --git a/Scripts/pack-setup.ps1 b/Scripts/pack-setup.ps1
index f40e503..a7abd13 100644
--- a/Scripts/pack-setup.ps1
+++ b/Scripts/pack-setup.ps1
@@ -1,16 +1,10 @@
+$version = git describe --always --tags --exclude latest
+
Set-Location ../Build
-Remove-Item .\QuickLook.7z -ErrorAction SilentlyContinue
-7z a QuickLook.7z .\Package\* -t7z -mx=5 -mf=BCJ2 -r -y
+Remove-Item .\Package.7z -ErrorAction SilentlyContinue
+7z a Package.7z .\Package\* -t7z -mx=9 -ms=on -m0=lzma2 -mf=BCJ2 -r -y
makemica micasetup.json
-Write-Output "This file makes QuickLook portable." >> .\Package\portable.lock
-7z a QuickLook.7z .\Package\portable.lock -t7z -mx=5 -mf=BCJ2 -r -y
-
-$version = git describe --always --tags --exclude latest
-Remove-Item .\QuickLook-$version.7z -ErrorAction SilentlyContinue
-Rename-Item .\QuickLook.7z QuickLook-$version.7z
-Remove-Item .\QuickLook-$version.exe -ErrorAction SilentlyContinue
Rename-Item .\QuickLook.exe QuickLook-$version.exe
-
-pause
+Remove-Item .\Package.7z -ErrorAction SilentlyContinue
\ No newline at end of file
diff --git a/Scripts/sign-appx.ps1 b/Scripts/sign-appx.ps1
index b86eb9b..a0e79d3 100644
--- a/Scripts/sign-appx.ps1
+++ b/Scripts/sign-appx.ps1
@@ -1,5 +1,22 @@
-$signExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe'
-$files = gci '..\Build\QuickLook-*.appx' | %{('"{0}"' -f $_.FullName)}
+$opensslExe = 'C:\Program Files\Git\usr\bin\openssl.exe'
+$signExe = 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe'
$timestampUrl = 'http://time.certum.pl/'
+$version = git describe --always --tags "--abbrev=0" --exclude latest
-.$signExe sign /a /v /fd sha256 /t $timestampUrl $files
+if($version.Split('.').Length.Equals(3))
+{
+ $version += ".0"
+}
+
+Set-Location ../Build
+
+if (-not (Test-Path sideload.key)) {
+ .$opensslExe genrsa -out "sideload.key" 2048
+}
+if (-not (Test-Path sideload.pfx)) {
+ .$opensslExe req -new -x509 -days 825 -key "sideload.key" -out "sideload.crt" -config "openssl-sign.cnf" -subj "/CN=CE36AF3D-FF94-43EB-9908-7EC8FD1D29FB"
+ .$opensslExe pkcs12 -export -out "sideload.pfx" -inkey "sideload.key" -in "sideload.crt" -password pass:123456
+}
+
+.$signExe sign /fd sha256 /f "sideload.pfx" /p 123456 /td sha256 /tr $timestampUrl QuickLook-$version.appx
+.$signExe verify /pa /v QuickLook-$version.appx