mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
MSIX: minor cleanup, add certificate generation script
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
|
<PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
|
||||||
<PackageFamily ID="PowerToys" FlatBundle="true" ManifestPath="appxmanifest.xml" ResourceManager="false">
|
<PackageFamily ID="PowerToys" FlatBundle="true" ManifestPath="appxmanifest.xml" ResourceManager="false">
|
||||||
|
|
||||||
<Package ID="x64" ProcessorArchitecture="x64">
|
<Package ID="PowerToys-x64" ProcessorArchitecture="x64">
|
||||||
<Files>
|
<Files>
|
||||||
<File DestinationPath="License.rtf" SourcePath="..\..\License.rtf"/>
|
<File DestinationPath="License.rtf" SourcePath="..\..\License.rtf"/>
|
||||||
|
|
||||||
|
|||||||
5
installer/MSIX/generate_self_sign_cert.ps1
Normal file
5
installer/MSIX/generate_self_sign_cert.ps1
Normal file
@@ -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
|
||||||
6
installer/MSIX/msix_reinstall.ps1
Normal file
6
installer/MSIX/msix_reinstall.ps1
Normal file
@@ -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>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
|
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
|
||||||
</Link>
|
</Link>
|
||||||
<CustomBuildStep Label="BuildMSIX">
|
|
||||||
<Command>cd $(SolutionDir)MSIX && makeappx build /overwrite /f PackagingLayout.xml /id x64 /op bin\ && signtool sign /a /fd SHA256 /f PowerToysTestKey.pfx /p 12345 bin\x64.msix</Command>
|
|
||||||
<Outputs>$(SolutionDir)MSIX\bin\x64.msix</Outputs>
|
|
||||||
</CustomBuildStep>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="CustomAction.cpp" />
|
<ClCompile Include="CustomAction.cpp" />
|
||||||
|
|||||||
@@ -7,10 +7,14 @@
|
|||||||
* The resulting installer will be built to `PowerToysSetup\bin\Release\PowerToysSetup.msi`.
|
* The resulting installer will be built to `PowerToysSetup\bin\Release\PowerToysSetup.msi`.
|
||||||
|
|
||||||
## Building and installing self-signed PowerToys MSIX package
|
## Building and installing self-signed PowerToys MSIX package
|
||||||
* Make sure you've built correct `powertoys.sln` configuration
|
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 `
|
||||||
* Add `PowerToysTestKey.pfx` to the [TRCA store](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/trusted-root-certification-authorities-certificate-store)
|
generate_self_sign_cert.ps1` from a powershell admin. After that:
|
||||||
* Execute `reinstall.ps1` from the devenv powershell:
|
|
||||||
## Removing all current PowerToys installations
|
* 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
|
```ps
|
||||||
$name='PowerToys'
|
$name='PowerToys'
|
||||||
Get-AppxPackage -Name $name | select -ExpandProperty "PackageFullName" | Remove-AppxPackage
|
Get-AppxPackage -Name $name | select -ExpandProperty "PackageFullName" | Remove-AppxPackage
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
bool running_as_packaged();
|
bool running_as_packaged();
|
||||||
|
|||||||
Reference in New Issue
Block a user