Build and distribute a Tauri app as a Windows MSIX package for sideloading (test) or the Microsoft Store (release). Use when the user mentions MSIX, Windows packaging, Microsoft Store / Partner Center submission, sideloading, AppxManifest, or signing a Windows desktop build. For the general desktop/mobile build flow, see iblai-vibe-ops-build.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add iblai/vibe --skill iblai-vibe-windows-msix --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Iblai Vibe Windows Msix?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/iblai-iblai-vibe-windows-msix)More formats (shields.io, HTML) on the badges page.
---
name: iblai-vibe-windows-msix
description: Build and distribute a Tauri app as a Windows MSIX package for sideloading (test) or the Microsoft Store (release). Use when the user mentions MSIX, Windows packaging, Microsoft Store / Partner Center submission, sideloading, AppxManifest, or signing a Windows desktop build. For the general desktop/mobile build flow, see iblai-vibe-ops-build.
globs:
alwaysApply: false
---
# Build Windows MSIX
Build and distribute your Tauri app as a Windows MSIX package for
sideloading (test) or Microsoft Store (release).
---
## Test Build (Sideloading)
For local development and testing on your own machine.
### Prerequisites
1. **Enable Developer Mode** (one-time):
`Settings > Update & Security > For developers > Developer Mode: ON`
2. Rust toolchain installed (`rustc --version`)
3. Dependencies installed (`pnpm install`)
### Steps
```powershell
# 1. Create and trust a dev certificate (one-time)
pnpm tauri:setup:cert
# Output:
# Thumbprint: ABC123DEF456...
# (save this thumbprint)
# 2. Build the Tauri app
pnpm tauri:build
# 3. Package as MSIX and sign with the dev cert
.\src-tauri\build-msix.ps1 -SkipTauriBuild -CertThumbprint "ABC123DEF456..."
# 4. Install the MSIX
Add-AppxPackage -Path src-tauri\msix-output\*.msix
# Or double-click the .msix file in Explorer
```
### Build for arm64
```powershell
# Build the Tauri app for arm64
pnpm exec tauri build --target aarch64-pc-windows-msvc
# Package as arm64 MSIX
.\src-tauri\build-msix.ps1 -SkipTauriBuild -Architecture arm64 -CertThumbprint "ABC123..."
```
### Uninstall
```powershell
# Find the package
Get-AppxPackage -Name "com.your.app.*"
# Remove it
Get-AppxPackage -Name "com.your.app.*" | Remove-AppxPackage
```
---
## Release Build (Microsoft Store)
For submitting to the Microsoft Store via Partner Center.
### Prerequisites
1. [Partner Center](https://partner.microsoft.com/) developer account
2. App reservation in Partner Center (creates the app identity)
3. From Partner Center, note these values:
- **Identity Name** (e.g., `CompanyName.AppName`)
- **Publisher** (e.g., `CN=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`)
- **Publisher Display Name**
### Steps
#### 1. Update `src-tauri/AppxManifest.xml` with Store identity
Replace the dev identity values with the ones from Partner Center:
```xml
<Identity
Name="CompanyName.AppName"
Publisher="CN=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
Version="1.0.0.0"
ProcessorArchitecture="x64" />
<Properties>
<DisplayName>Your App Name</DisplayName>
<PublisherDisplayName>Your Company</PublisherDisplayName>
...
</Properties>
```
#### 2. Build MSIX for both architectures
```powershell
# Build x64
pnpm exec tauri build --target x86_64-pc-windows-msvc
.\src-tauri\build-msix.ps1 -SkipTauriBuild -Architecture x64
# Build arm64
pnpm exec tauri build --target aarch64-pc-windows-msvc
.\src-tauri\build-msix.ps1 -SkipTauriBuild -Architecture arm64
```
Both MSIX files are written to `src-tauri/msix-output/`.
#### 3. Submit to Partner Center
Upload both `.msix` files (x64 + arm64) to Partner Center. The Store
handles signing and bundling automatically — you do **not** need to
sign or create an `.msixbundle` yourself for Store submission.
#### 4. For signed distribution outside the Store
If distributing outside the Store (e.g., enterprise deployment), sign
with a trusted code-signing certificate:
```powershell
.\src-tauri\build-msix.ps1 -SkipTauriBuild -CertThumbprint "PRODUCTION_CERT_THUMB"
```
---
## CI/CD
Generate a GitHub Actions workflow that builds MSIX for both x64 and
arm64, creates an `.msixbundle`, and optionally signs it:
```bash
# create the workflow from assets/tauri/workflows/tauri-build-windows-msix.yml.j2 (see /iblai-vibe-ops-build)
```
This creates `.github/workflows/tauri-build-windows-msix.yml` with:
- x64 build on `windows-latest`
- arm64 build on `windows-11-arm`
- Bundle job that combines both into `.msixbundle`
- Optional signing via `MSIX_CERT_PFX` + `MSIX_CERT_PASSWORD` secrets
---
## Troubleshooting
### "publisher is not in unsigned namespace"
The MSIX publisher identity doesn't match a trusted certificate.
```powershell
# Fix: set up the dev certificate and enable Developer Mode
pnpm tauri:setup:cert
# Then sign: .\src-tauri\build-msix.ps1 -SkipTauriBuild -CertThumbprint "THUMB"
```
### "certificate chain terminates at a root certificate which is not trusted"
The certificate was imported to the wrong store.
```powershell
# Remove the stale certificate
Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like "*-dev" } | Remove-Item
Get-ChildItem Cert:\CurrentUser\TrustedPeople | Where-Object { $_.Subject -like "*-dev" } | Remove-Item
Get-ChildItem Cert:\CurrentUser\Root | Where-Object { $_.Subject -like "*-dev" } | Remove-Item
Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "*-dev" } | Remove-Item
# Re-create with the correct setup
pnpm tauri:setup:cert
```
### "makeappx.exe not found"
Windows 10 SDK is not installed. Install it from:
https://developer.microsoft.com/windows/downloads/windows-sdk/
Or install via Visual Studio Installer → "Desktop development with C++"
workload (includes the Windows SDK).
### MSIX installs but app shows blank window
The frontend wasn't built before packaging. Ensure `pnpm tauri:build`
completes successfully before running `build-msix.ps1 -SkipTauriBuild`.
Check that `out/index.html` exists after the build.
### Remove a stale test certificate
```powershell
$Subject = "CN=your-app-name-dev"
Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -eq $Subject } | Remove-Item
Get-ChildItem Cert:\CurrentUser\TrustedPeople | Where-Object { $_.Subject -eq $Subject } | Remove-Item
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!