diff --git a/.github/workflows/build_starc_windows.yml b/.github/workflows/build_starc_windows.yml
index 53dc3e175..f247a0964 100644
--- a/.github/workflows/build_starc_windows.yml
+++ b/.github/workflows/build_starc_windows.yml
@@ -90,6 +90,25 @@ jobs:
           files: build/windows/files_64
           dest: build/windows/starc-64.zip
 
+      - name: Update manifest
+        shell: pwsh
+        env:
+          APPXMANIFEST_PATH: build\windows\msix\AppxManifest.xml
+          BUILD_VERSION: ${{ env.APP_VERSION }}.${{ env.DEV_BUILD }}
+        run: |
+          $xml = [xml](Get-Content $env:APPXMANIFEST_PATH)
+          $xml.Package.Identity.Version = $env:BUILD_VERSION
+          $xml.save($env:APPXMANIFEST_PATH)
+
+      - name: Build MSIX package
+        shell: pwsh
+        run: |
+          New-Item -ItemType Directory -Path build/windows/files_64/images
+          Copy-Item -Path build/windows/msix/visual-elements/* -Destination build/windows/files_64/images -Recurse
+          cp build/windows/msix/AppxManifest.xml build/windows/files_64
+          $env:PATH = $env:PATH + ";C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64"
+          makeappx.exe pack /d build/windows/files_64 /p build/windows/starc-package-64.msix
+
       - name: Collect artifacts
         uses: actions/upload-artifact@v4
         with:
@@ -97,6 +116,7 @@ jobs:
           path: |
             build/windows/starc-setup-64.exe
             build/windows/starc-64.zip
+            build/windows/starc-package-64.msix
 
       - name: Publish artifacts to the dev stream and notify clients
         if: startsWith(github.ref, 'refs/tags/') != true
@@ -125,6 +145,7 @@ jobs:
           files: |
             build/windows/starc-setup-64.exe
             build/windows/starc-64.zip
+            build/windows/starc-package-64.msix
 
       - name: Notify clients that stable release published
         if: startsWith(github.ref, 'refs/tags/')
@@ -208,6 +229,26 @@ jobs:
           files: build/windows/files_32
           dest: build/windows/starc-32.zip
 
+      - name: Update manifest
+        shell: pwsh
+        env:
+          APPXMANIFEST_PATH: build\windows\msix\AppxManifest.xml
+          BUILD_VERSION: ${{ env.APP_VERSION }}.${{ env.DEV_BUILD }}
+        run: |
+          $xml = [xml](Get-Content $env:APPXMANIFEST_PATH)
+          $xml.Package.Identity.Version = $env:BUILD_VERSION
+          $xml.save($env:APPXMANIFEST_PATH)
+
+      - name: Build MSIX package
+        shell: pwsh
+        run: |
+          New-Item -ItemType Directory -Path build/windows/files_32/images
+          Copy-Item -Path build/windows/msix/visual-elements/* -Destination build/windows/files_32/images -Recurse
+          cp build/windows/msix/AppxManifest.xml build/windows/files_32
+          $env:PATH = $env:PATH + ";C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86"
+          makeappx.exe pack /d build/windows/files_32 /p build/windows/starc-package-32.msix
+
+
       - name: Collect artifacts
         uses: actions/upload-artifact@v4
         with:
@@ -215,6 +256,7 @@ jobs:
           path: |
             build/windows/starc-setup-32.exe
             build/windows/starc-32.zip
+            build/windows/starc-package-32.msix
 
       - name: Publish artifacts to the dev stream and notify clients
         if: startsWith(github.ref, 'refs/tags/') != true
@@ -243,6 +285,7 @@ jobs:
           files: |
             build/windows/starc-setup-32.exe
             build/windows/starc-32.zip
+            build/windows/starc-package-32.msix
 
       - name: Notify clients that stable release published
         if: startsWith(github.ref, 'refs/tags/')
diff --git a/build/windows/msix/AppxManifest.xml b/build/windows/msix/AppxManifest.xml
new file mode 100644
index 000000000..5e86ef392
--- /dev/null
+++ b/build/windows/msix/AppxManifest.xml
@@ -0,0 +1,27 @@
+<?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:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap rescap">
+  <Identity Name="Starc" Publisher="CN=StoryApps" Version="" />
+  <Properties>
+    <DisplayName>Starc</DisplayName>
+    <PublisherDisplayName>StoryApps</PublisherDisplayName>
+    <Logo>images\StoreLogo.png</Logo>
+  </Properties>
+  <Dependencies>
+    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
+  </Dependencies>
+  <Resources>
+    <Resource Language="en-us" />
+  </Resources>
+  <Applications>
+    <Application Id="App" Executable="starcapp.exe" EntryPoint="Windows.FullTrustApplication">
+      <uap:VisualElements DisplayName="Starc" Description="Starc" BackgroundColor="transparent" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png">
+        <uap:DefaultTile Wide310x150Logo="images\Wide310x150Logo.png" Square71x71Logo="images\SmallTile.png" Square310x310Logo="images\LargeTile.png" />
+        <uap:SplashScreen Image="images\SplashScreen.png" />
+      </uap:VisualElements>
+    </Application>
+  </Applications>
+  <Capabilities>
+    <Capability Name="internetClient" />
+    <rescap:Capability Name="runFullTrust" />
+  </Capabilities>
+</Package>
diff --git a/build/windows/msix/visual-elements/LargeTile.png b/build/windows/msix/visual-elements/LargeTile.png
new file mode 100644
index 000000000..7ecc7ab0f
Binary files /dev/null and b/build/windows/msix/visual-elements/LargeTile.png differ
diff --git a/build/windows/msix/visual-elements/SmallTile.png b/build/windows/msix/visual-elements/SmallTile.png
new file mode 100644
index 000000000..09f6b15ac
Binary files /dev/null and b/build/windows/msix/visual-elements/SmallTile.png differ
diff --git a/build/windows/msix/visual-elements/SplashScreen.png b/build/windows/msix/visual-elements/SplashScreen.png
new file mode 100644
index 000000000..12c319d47
Binary files /dev/null and b/build/windows/msix/visual-elements/SplashScreen.png differ
diff --git a/build/windows/msix/visual-elements/Square150x150Logo.png b/build/windows/msix/visual-elements/Square150x150Logo.png
new file mode 100644
index 000000000..eb1e47cfd
Binary files /dev/null and b/build/windows/msix/visual-elements/Square150x150Logo.png differ
diff --git a/build/windows/msix/visual-elements/Square44x44Logo.png b/build/windows/msix/visual-elements/Square44x44Logo.png
new file mode 100644
index 000000000..efa9af6f1
Binary files /dev/null and b/build/windows/msix/visual-elements/Square44x44Logo.png differ
diff --git a/build/windows/msix/visual-elements/StoreLogo.png b/build/windows/msix/visual-elements/StoreLogo.png
new file mode 100644
index 000000000..8133fdfd8
Binary files /dev/null and b/build/windows/msix/visual-elements/StoreLogo.png differ
diff --git a/build/windows/msix/visual-elements/Wide310x150Logo.png b/build/windows/msix/visual-elements/Wide310x150Logo.png
new file mode 100644
index 000000000..079f1bbd3
Binary files /dev/null and b/build/windows/msix/visual-elements/Wide310x150Logo.png differ