feat(packaging): use msix for msvc builds
Signed-off-by: seth <getchoo@tuta.io>
This commit is contained in:
parent
2cb22ad280
commit
c3770a9a32
37
.github/workflows/build.yml
vendored
37
.github/workflows/build.yml
vendored
@ -428,14 +428,23 @@ jobs:
|
|||||||
|
|
||||||
Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
|
Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
|
||||||
|
|
||||||
- name: Package (Windows, installer)
|
- name: Package (Windows MinGW-w64, installer)
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32")
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.INSTALL_DIR }}
|
cd ${{ env.INSTALL_DIR }}
|
||||||
makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
|
makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
|
||||||
|
|
||||||
- name: Sign installer (Windows)
|
- name: Package (Windows MSVC, installer)
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32"
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
cd ${{ env.INSTALL_DIR }}
|
||||||
|
Copy-Item ..\program_info\prismlauncher_*x*.png .
|
||||||
|
Copy-Item ..\program_info\AppxManifest.xml .
|
||||||
|
makeappx.exe pack /v /h SHA256 /d . /p prismlauncher.msix
|
||||||
|
|
||||||
|
- name: Sign installer (Windows MinGW-w64/MSVC Legacy)
|
||||||
|
if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32")
|
||||||
run: |
|
run: |
|
||||||
if (Get-Content ./codesign.pfx){
|
if (Get-Content ./codesign.pfx){
|
||||||
SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com PrismLauncher-Setup.exe
|
SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com PrismLauncher-Setup.exe
|
||||||
@ -443,6 +452,15 @@ jobs:
|
|||||||
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
|
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- name: Sign installer (Windows MSVC)
|
||||||
|
if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32"
|
||||||
|
run: |
|
||||||
|
if (Get-Content ./codesign.pfx){
|
||||||
|
SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com ${{ env.INSTALL_DIR }}/prismlauncher.msix
|
||||||
|
} else {
|
||||||
|
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
|
||||||
|
}
|
||||||
|
|
||||||
- name: Package (Linux)
|
- name: Package (Linux)
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
@ -521,13 +539,20 @@ jobs:
|
|||||||
name: PrismLauncher-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }}
|
name: PrismLauncher-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }}
|
||||||
path: ${{ env.INSTALL_PORTABLE_DIR }}/**
|
path: ${{ env.INSTALL_PORTABLE_DIR }}/**
|
||||||
|
|
||||||
- name: Upload installer (Windows)
|
- name: Upload installer (Windows MinGW-w64/MSVC Legacy)
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows' && (matrix.msystem != '' || matrix.architecture == "win32")
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: PrismLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }}
|
name: PrismLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }}
|
||||||
path: PrismLauncher-Setup.exe
|
path: PrismLauncher-Setup.exe
|
||||||
|
|
||||||
|
- name: Upload installer (Windows MSVC)
|
||||||
|
if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != "win32"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: PrismLauncher-${{ matrix.name }}-MSIX-${{ env.VERSION }}-${{ inputs.build_type }}
|
||||||
|
path: ${{ env.INSTALL_DIR }}/prismlauncher.msix
|
||||||
|
|
||||||
- name: Upload binary tarball (Linux, Qt 5)
|
- name: Upload binary tarball (Linux, Qt 5)
|
||||||
if: runner.os == 'Linux' && matrix.qt_ver != 6
|
if: runner.os == 'Linux' && matrix.qt_ver != 6
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
|
57
program_info/AppxManifest.xml
Normal file
57
program_info/AppxManifest.xml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Package
|
||||||
|
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||||
|
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||||
|
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
|
||||||
|
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||||
|
xmlns:virtualization="http://schemas.microsoft.com/appx/manifest/virtualization/windows10"
|
||||||
|
xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6"
|
||||||
|
IgnorableNamespaces="rescap virtualization desktop6">
|
||||||
|
<Identity Name="github.PrismLauncher.PrismLauncher" Version="7.0.0.0" Publisher="CN=PrismLauncher, O=PrismLauncher, L=MyCity, S=MyState, C=MyCountry" ProcessorArchitecture="x64" />
|
||||||
|
<Properties>
|
||||||
|
<DisplayName>Prism Launcher</DisplayName>
|
||||||
|
<PublisherDisplayName>Prism Launcher</PublisherDisplayName>
|
||||||
|
<Description>A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once</Description>
|
||||||
|
<Logo>prismlauncher_150x150.png</Logo>
|
||||||
|
</Properties>
|
||||||
|
<Resources>
|
||||||
|
<Resource Language="en-us" />
|
||||||
|
</Resources>
|
||||||
|
<Dependencies>
|
||||||
|
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.19041.0" MaxVersionTested="10.0.22621.0" />
|
||||||
|
</Dependencies>
|
||||||
|
<Capabilities>
|
||||||
|
<Capability Name="internetClientServer"/>
|
||||||
|
<rescap:Capability Name="runFullTrust"/>
|
||||||
|
<rescap:Capability Name="unvirtualizedResources"/>
|
||||||
|
<DeviceCapability Name="humaninterfacedevice">
|
||||||
|
<!--
|
||||||
|
This allows for any
|
||||||
|
generic gaming device,
|
||||||
|
such as a controller or joystick
|
||||||
|
*and* any HID device.
|
||||||
|
-->
|
||||||
|
<Device Id="any">
|
||||||
|
<Function Type="usage:0004 *"/>
|
||||||
|
<Function Type="usage:0005 *"/>
|
||||||
|
<Function Type="usage:ffa0 0001"/>
|
||||||
|
</Device>
|
||||||
|
</DeviceCapability>
|
||||||
|
</Capabilities>
|
||||||
|
<Applications>
|
||||||
|
<Application
|
||||||
|
Id="PrismLauncher"
|
||||||
|
Executable="prismlauncher.exe"
|
||||||
|
uap10:RuntimeBehavior="win32App"
|
||||||
|
uap10:TrustLevel="mediumIL"
|
||||||
|
>
|
||||||
|
<uap:VisualElements
|
||||||
|
DisplayName="Prism Launcher"
|
||||||
|
Description="A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once"
|
||||||
|
Square150x150Logo="prismlauncher_150x150.png"
|
||||||
|
Square44x44Logo="prismlauncher_44x44.png"
|
||||||
|
BackgroundColor="transparent"
|
||||||
|
/>
|
||||||
|
</Application>
|
||||||
|
</Applications>
|
||||||
|
</Package>
|
BIN
program_info/prismlauncher_150x150.png
Normal file
BIN
program_info/prismlauncher_150x150.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
BIN
program_info/prismlauncher_44x44.png
Normal file
BIN
program_info/prismlauncher_44x44.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
Loading…
x
Reference in New Issue
Block a user