MSIX: minor cleanup, add certificate generation script

This commit is contained in:
yuyoyuppe 2019-12-20 19:12:52 +03:00 коммит произвёл yuyoyuppe
Родитель 62c65659cc
Коммит a321eb8737
7 изменённых файлов: 21 добавлений и 17 удалений

Просмотреть файл

@ -1,7 +1,7 @@
<PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
<PackageFamily ID="PowerToys" FlatBundle="true" ManifestPath="appxmanifest.xml" ResourceManager="false">
<Package ID="x64" ProcessorArchitecture="x64">
<Package ID="PowerToys-x64" ProcessorArchitecture="x64">
<Files>
<File DestinationPath="License.rtf" SourcePath="..\..\License.rtf"/>

Просмотреть файл

@ -0,0 +1,5 @@
$expirationDate = {Get-Date}.Invoke().AddYears(5)
$pass = ConvertTo-SecureString -String "12345" -Force -AsPlainText
$thumbprint = (New-SelfSignedCertificate -notafter $expirationDate -Type CodeSigningCert -Subject "CN=Microsoft Corporation" -FriendlyName "PowerToys Test Certificate" -KeyDescription "PowerToys Test Certificate" -KeyFriendlyName "PowerToys Test Key" -KeyUsage "DigitalSignature" -CertStoreLocation Cert:\LocalMachine\My).Thumbprint
Export-PfxCertificate -Cert cert:\LocalMachine\My\$thumbprint -FilePath PowerToys_TemporaryKey.pfx -Password $pass
Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath PowerToys_TemporaryKey.pfx -Password $pass

Просмотреть файл

@ -0,0 +1,6 @@
taskkill /f /im explorer.exe
Get-AppxPackage -Name 'PowerToys' | select -ExpandProperty "PackageFullName" | Remove-AppxPackage
makeappx build /v /overwrite /f PackagingLayout.xml /id "PowerToys-x64" /op bin\
signtool sign /debug /a /fd SHA256 /f PowerToys_TemporaryKey.pfx /p 12345 bin\PowerToys-x64.msix
Add-AppxPackage .\bin\PowerToys-x64.msix
start $Env:windir\explorer.exe

Просмотреть файл

@ -1,7 +0,0 @@
$name='PowerToys'
taskkill /f /im explorer.exe
Get-AppxPackage -Name $name | select -ExpandProperty "PackageFullName" | Remove-AppxPackage
makeappx build /v /overwrite /f PackagingLayout.xml /id "x64" /op bin\
signtool sign /debug /a /fd SHA256 /f PowerToysTestKey.pfx /p 12345 bin\x64.msix
Add-AppxPackage .\bin\x64.msix
start $Env:windir\explorer.exe

Просмотреть файл

@ -90,10 +90,6 @@
<TargetMachine>MachineX64</TargetMachine>
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
</Link>
<CustomBuildStep Label="BuildMSIX">
<Command>cd $(SolutionDir)MSIX &amp;&amp; makeappx build /overwrite /f PackagingLayout.xml /id x64 /op bin\ &amp;&amp; signtool sign /a /fd SHA256 /f PowerToysTestKey.pfx /p 12345 bin\x64.msix</Command>
<Outputs>$(SolutionDir)MSIX\bin\x64.msix</Outputs>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="CustomAction.cpp" />

Просмотреть файл

@ -7,10 +7,14 @@
* The resulting installer will be built to `PowerToysSetup\bin\Release\PowerToysSetup.msi`.
## Building and installing self-signed PowerToys MSIX package
* Make sure you've built correct `powertoys.sln` configuration
* Add `PowerToysTestKey.pfx` to the [TRCA store](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/trusted-root-certification-authorities-certificate-store)
* Execute `reinstall.ps1` from the devenv powershell:
## Removing all current PowerToys installations
For the first-time installation, you should generate a self-signed certificate and add it to the [TRCA store](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/trusted-root-certification-authorities-certificate-store). That could be done by simply running `
generate_self_sign_cert.ps1` from a powershell admin. After that:
* Make sure you've built the `Release` configuration of `powertoys.sln`
* Launch `msix_reinstall.ps1` from the devenv powershell
`msix_reinstall.ps1` removes the current PowerToys installation, restarts explorer.exe (to update PowerRename shell extension), builds `PowerToys-x64.msix` package, signs it with a PowerToys_TemporaryKey.pfx, and finally installs it.
## Removing all .msi/.msix PowerToys installations
```ps
$name='PowerToys'
Get-AppxPackage -Name $name | select -ExpandProperty "PackageFullName" | Remove-AppxPackage

Просмотреть файл

@ -1,3 +1,3 @@
#pragma once
bool running_as_packaged();
bool running_as_packaged();