From 7d251102a8d536e0acbff94103299ed8e4826b2b Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 18 Oct 2026 13:26:53 -0500 Subject: [PATCH 01/10] Match MS Store identity --- AuraClick/Package.appxmanifest | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/AuraClick/Package.appxmanifest b/AuraClick/Package.appxmanifest index 8479cbb9..a2c705d2 100644 --- a/AuraClick/Package.appxmanifest +++ b/AuraClick/Package.appxmanifest @@ -8,11 +8,11 @@ IgnorableNamespaces="uap rescap"> + Version="0.0.1.0" /> - + ms-resource:AppDisplayName @@ -38,6 +38,7 @@ BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png"> + From 8ecf9e6c116380878ca22ebfd40a4cd6561da782 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 09:18:28 -0500 Subject: [PATCH 02/10] Remove app installer URI Signed-off-by: Ryan Luu --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27a3ef0a..16812eb6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,6 @@ jobs: Appx_Package_Build_Mode: SideloadOnly Configuration: ${{ matrix.configuration }} Platform: ${{ matrix.platform }} - AppInstallerUri: https://cdn.auraclick.app - name: Upload MSIX package uses: actions/upload-artifact@v7 From ead234c81470dcc8350e5f04b1cce89605410426 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 09:24:07 -0500 Subject: [PATCH 03/10] Simplify CI Signed-off-by: Ryan Luu --- .github/workflows/ci.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16812eb6..de0e14a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,6 @@ permissions: jobs: build: - name: Build runs-on: windows-latest strategy: @@ -22,8 +21,6 @@ jobs: env: Solution_Name: AuraClick.slnx - Appx_Package_Dir: Packages\ - Dir_Name: AuraClick steps: - name: Checkout repository @@ -43,11 +40,11 @@ jobs: Configuration: ${{ matrix.configuration }} - name: Create the app package - run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true + run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true env: - Appx_Bundle: Always - Appx_Bundle_Platforms: x86|x64|ARM64 + Appx_Bundle: Never Appx_Package_Build_Mode: SideloadOnly + Appx_Package_Dir: Packages\ Configuration: ${{ matrix.configuration }} Platform: ${{ matrix.platform }} @@ -55,5 +52,5 @@ jobs: uses: actions/upload-artifact@v7 with: name: MSIX Package (${{ matrix.configuration }}, ${{ matrix.platform }}) - path: ${{ env.Dir_Name }}\${{ env.Appx_Package_Dir }} + path: ${{ env.Solution_Name }}\\Packages if-no-files-found: error From d3634dcbc69410d9918b8d82d566e735b2d23a0d Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 10:03:40 -0500 Subject: [PATCH 04/10] Add basic workflow steps Signed-off-by: Ryan Luu --- .github/workflows/ci.yml | 1 + .github/workflows/release.yml | 75 +++++++++++++---------------------- 2 files changed, 29 insertions(+), 47 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de0e14a0..9f9d869d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + name: Build runs-on: windows-latest strategy: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 04ea1352..19f09d61 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,21 +8,16 @@ on: permissions: contents: read - actions: write jobs: - build: - name: Build + store: runs-on: windows-latest - strategy: - matrix: - configuration: [Release] - platform: [x64, x86, ARM64] - env: Solution_Name: AuraClick.slnx - Dir_Name: AuraClick + Configuration: Release + Bundle_Platforms: x86|x64|ARM64 + Appx_Package_Dir: Packages\ steps: - name: Checkout repository @@ -38,42 +33,28 @@ jobs: - name: Restore the application run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration - env: - Configuration: ${{ matrix.configuration }} - - - name: Create the app package and appinstaller - run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true /p:GenerateAppInstallerFile=true /p:AppxPackageSigningEnabled=false /p:AppxPackageSigningTimestampDigestAlgorithm=SHA256 /p:AppxAutoIncrementPackageRevision=false /p:GenerateTestArtifacts=false /p:AppInstallerUri=$env:AppInstaller_Uri /p:HoursBetweenUpdateChecks=$env:Hours_Between_Update_Checks - env: - Appx_Bundle: Never - Appx_Package_Build_Mode: SideloadOnly - Appx_Package_Dir: Packages\ - AppInstaller_Uri: https://cdn.auraclick.app/ - Hours_Between_Update_Checks: 24 - Configuration: ${{ matrix.configuration }} - Platform: ${{ matrix.platform }} - - - name: Upload unsigned package artifacts - id: upload-unsigned-artifact - uses: actions/upload-artifact@v7 - with: - name: Unsigned Package (${{ matrix.configuration }}, ${{ matrix.platform }}) - path: ${{ env.Dir_Name }}\Packages\ - if-no-files-found: error - - name: sign - uses: signpath/github-action-submit-signing-request@v3 - with: - api-token: ${{ secrets.SIGNPATH_API_TOKEN }} - organization-id: ${{ vars.SIGNPATH_ORGANIZATION_ID }} - project-slug: auraclick - signing-policy-slug: release-signing - github-artifact-id: ${{steps.upload-unsigned-artifact.outputs.artifact-id}} - wait-for-completion: true - output-artifact-directory: msix-package-signed - - - name: Upload signed package artifacts - uses: actions/upload-artifact@v7 - with: - name: Signed Package (${{ matrix.configuration }}, ${{ matrix.platform }}) - path: msix-package-signed - if-no-files-found: error + - name: Create Store package + run: > + msbuild $env:Solution_Name + /p:Configuration=$env:Configuration + /p:Platform=x64 + /p:AppxBundlePlatforms="$env:Bundle_Platforms" + /p:AppxBundle=Always + /p:UapAppxPackageBuildMode=StoreUpload + /p:AppxPackageDir="$env:Appx_Package_Dir" + /p:AppxPackageSigningEnabled=false + /p:GenerateAppxPackageOnBuild=true + + - name: Setup Microsoft Store Developer CLI + uses: microsoft/microsoft-store-apppublisher@v1.4 + + - name: Reconfigure store credentials + run: msstore reconfigure ` + --tenantId ${{ secrets.AZURE_AD_TENANT_ID }} ` + --sellerId ${{ secrets.SELLER_ID }} ` + --clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} ` + --clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }} + + - name: Publish to Store + run: msstore publish '${{ github.workspace }}/release/package.msix' -id 9NTVRZD0MF7F From 5dfff2356f489b36ec9493154bf28144da991e61 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 10:08:19 -0500 Subject: [PATCH 05/10] Fix workflows Signed-off-by: Ryan Luu --- .github/workflows/ci.yml | 5 ++--- .github/workflows/release.yml | 24 +++++++++++++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f9d869d..082119b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,6 @@ on: permissions: contents: read - actions: write jobs: build: @@ -41,7 +40,7 @@ jobs: Configuration: ${{ matrix.configuration }} - name: Create the app package - run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true + run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:AppxPackageSigningEnabled=false /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true env: Appx_Bundle: Never Appx_Package_Build_Mode: SideloadOnly @@ -53,5 +52,5 @@ jobs: uses: actions/upload-artifact@v7 with: name: MSIX Package (${{ matrix.configuration }}, ${{ matrix.platform }}) - path: ${{ env.Solution_Name }}\\Packages + path: AuraClick\Packages if-no-files-found: error diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 19f09d61..adb523ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,12 +49,18 @@ jobs: - name: Setup Microsoft Store Developer CLI uses: microsoft/microsoft-store-apppublisher@v1.4 - - name: Reconfigure store credentials - run: msstore reconfigure ` - --tenantId ${{ secrets.AZURE_AD_TENANT_ID }} ` - --sellerId ${{ secrets.SELLER_ID }} ` - --clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} ` - --clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }} - - - name: Publish to Store - run: msstore publish '${{ github.workspace }}/release/package.msix' -id 9NTVRZD0MF7F + - name: Reconfigure store credentials + run: > + msstore reconfigure + --tenantId "$env:Tenant_Id" + --sellerId "$env:Seller_Id" + --clientId "$env:Client_Id" + --clientSecret "$env:Client_Secret" + env: + Tenant_Id: ${{ secrets.AZURE_AD_TENANT_ID }} + Seller_Id: ${{ secrets.SELLER_ID }} + Client_Id: ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} + Client_Secret: ${{ secrets.AZURE_AD_APPLICATION_SECRET }} + + - name: Publish to Store + run: msstore publish (Resolve-Path "AuraClick\$env:Appx_Package_Dir*.msixupload").Path -id 9NTVRZD0MF7F From cd927ca2e309c636ece037d3275722ea8681a190 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 10:39:04 -0500 Subject: [PATCH 06/10] Add property checks Signed-off-by: Ryan Luu --- AuraClick/AuraClick.csproj | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/AuraClick/AuraClick.csproj b/AuraClick/AuraClick.csproj index 723e3610..ca22bc0a 100644 --- a/AuraClick/AuraClick.csproj +++ b/AuraClick/AuraClick.csproj @@ -1,14 +1,15 @@ - + WinExe net10.0-windows10.0.26100.0 10.0.17763.0 AuraClick app.manifest - Assets\AppIcon.ico + Assets\AppIcon.ico x86;x64;ARM64 win-x86;win-x64;win-arm64 - win-$(Platform).pubxml + win-$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()) + win-$(Platform).pubxml true false true @@ -49,7 +50,10 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + + @@ -70,4 +74,8 @@ False True + + + + From 655a43a05ca2fc5ca0c2ac276ad8a6f4daf29890 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 10:59:00 -0500 Subject: [PATCH 07/10] Use winapp for CI Signed-off-by: Ryan Luu --- .github/workflows/ci.yml | 34 ++++------------------- .github/workflows/release.yml | 51 +++++++---------------------------- 2 files changed, 15 insertions(+), 70 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 082119b0..d9c4d7eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,43 +14,19 @@ jobs: name: Build runs-on: windows-latest - strategy: - matrix: - configuration: [Debug] - platform: [x86, x64, ARM64] - - env: - Solution_Name: AuraClick.slnx - steps: - name: Checkout repository uses: actions/checkout@v7 - - name: Setup .NET - uses: actions/setup-dotnet@v6 - with: - dotnet-version: 10.0.x - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v3 - - - name: Restore the application - run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration - env: - Configuration: ${{ matrix.configuration }} + - name: Setup WinApp CLI + uses: microsoft/setup-WinAppCli@v0.2 - name: Create the app package - run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration /p:Platform=$env:Platform /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:AppxPackageSigningEnabled=false /p:AppxPackageDir="$env:Appx_Package_Dir" /p:GenerateAppxPackageOnBuild=true - env: - Appx_Bundle: Never - Appx_Package_Build_Mode: SideloadOnly - Appx_Package_Dir: Packages\ - Configuration: ${{ matrix.configuration }} - Platform: ${{ matrix.platform }} + run: winapp pack AuraClick\AuraClick.csproj -c Debug --arch x86 --arch x64 --arch arm64 --output AuraClick.msixbundle - name: Upload MSIX package uses: actions/upload-artifact@v7 with: - name: MSIX Package (${{ matrix.configuration }}, ${{ matrix.platform }}) - path: AuraClick\Packages + name: MSIX Package + path: AuraClick.msixbundle if-no-files-found: error diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index adb523ea..b3adbdde 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,54 +13,23 @@ jobs: store: runs-on: windows-latest - env: - Solution_Name: AuraClick.slnx - Configuration: Release - Bundle_Platforms: x86|x64|ARM64 - Appx_Package_Dir: Packages\ - steps: - name: Checkout repository uses: actions/checkout@v7 - - name: Setup .NET - uses: actions/setup-dotnet@v6 - with: - dotnet-version: 10.0.x - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v3 - - - name: Restore the application - run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration + - name: Setup WinApp CLI + uses: microsoft/setup-WinAppCli@v0.2 - name: Create Store package - run: > - msbuild $env:Solution_Name - /p:Configuration=$env:Configuration - /p:Platform=x64 - /p:AppxBundlePlatforms="$env:Bundle_Platforms" - /p:AppxBundle=Always - /p:UapAppxPackageBuildMode=StoreUpload - /p:AppxPackageDir="$env:Appx_Package_Dir" - /p:AppxPackageSigningEnabled=false - /p:GenerateAppxPackageOnBuild=true - - - name: Setup Microsoft Store Developer CLI - uses: microsoft/microsoft-store-apppublisher@v1.4 + run: winapp pack AuraClick\AuraClick.csproj --arch x86 --arch x64 --arch arm64 --output AuraClick.msixbundle - - name: Reconfigure store credentials + - name: Configure Store credentials run: > - msstore reconfigure - --tenantId "$env:Tenant_Id" - --sellerId "$env:Seller_Id" - --clientId "$env:Client_Id" - --clientSecret "$env:Client_Secret" - env: - Tenant_Id: ${{ secrets.AZURE_AD_TENANT_ID }} - Seller_Id: ${{ secrets.SELLER_ID }} - Client_Id: ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} - Client_Secret: ${{ secrets.AZURE_AD_APPLICATION_SECRET }} + winapp store reconfigure + --tenantId '${{ secrets.AZURE_AD_TENANT_ID }}' + --sellerId '${{ secrets.SELLER_ID }}' + --clientId '${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }}' + --clientSecret '${{ secrets.AZURE_AD_APPLICATION_SECRET }}' - name: Publish to Store - run: msstore publish (Resolve-Path "AuraClick\$env:Appx_Package_Dir*.msixupload").Path -id 9NTVRZD0MF7F + run: winapp store publish AuraClick.msixbundle --appId 9NTVRZD0MF7F From 41340bda8701efbc5a24375ca978dd8e7f40d1e0 Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 11:01:47 -0500 Subject: [PATCH 08/10] Enable package integrity checks Signed-off-by: Ryan Luu --- AuraClick/Package.appxmanifest | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AuraClick/Package.appxmanifest b/AuraClick/Package.appxmanifest index a2c705d2..83c6197b 100644 --- a/AuraClick/Package.appxmanifest +++ b/AuraClick/Package.appxmanifest @@ -4,8 +4,9 @@ xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 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" - IgnorableNamespaces="uap rescap"> + IgnorableNamespaces="uap uap10 rescap"> ms-resource:AppDisplayName Ryan Luu Assets\StoreLogo.png + + + From 0a39db92151fac43502031a83a5b61a0a67dbf9c Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 11:05:02 -0500 Subject: [PATCH 09/10] Cleanup winapp init Signed-off-by: Ryan Luu --- AuraClick/AuraClick.csproj | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/AuraClick/AuraClick.csproj b/AuraClick/AuraClick.csproj index ca22bc0a..aadab9f5 100644 --- a/AuraClick/AuraClick.csproj +++ b/AuraClick/AuraClick.csproj @@ -20,6 +20,10 @@ Aura Click + + + + @@ -50,10 +54,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - - @@ -74,8 +75,4 @@ False True - - - - From 9157c0f5880baea8f795a71dee57f7f146b5fa8c Mon Sep 17 00:00:00 2001 From: Ryan Luu Date: Sun, 25 Oct 2026 11:06:16 -0500 Subject: [PATCH 10/10] Remove default tile Signed-off-by: Ryan Luu --- AuraClick/Package.appxmanifest | 1 - 1 file changed, 1 deletion(-) diff --git a/AuraClick/Package.appxmanifest b/AuraClick/Package.appxmanifest index 83c6197b..2713aedd 100644 --- a/AuraClick/Package.appxmanifest +++ b/AuraClick/Package.appxmanifest @@ -42,7 +42,6 @@ BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png"> -