Register Developer Account
Signing Credentials
This may not be required when using MSIX files
Automatic Digital Signing - MSIX requires digital signing and, by publishing it to Microsoft Store, your app gets signed automatically. Therefore, you don’t need to buy a third-party CA (certification authority), and your app will have the credibility of being secure in case you use your own certification
https://stackoverflow.com/questions/76982311/microsoft-windows-app-store-digital-signing-requirements
CICD Pipeline
MakeAppx.exe
https://learn.microsoft.com/en-us/windows/win32/appxpkg/make-appx-package–makeappx-exe-
included in:
- Microsoft Visual Studio
- Windows Software Development Kit (SDK) for Windows 8
- Windows Software Development Kit (SDK) for Windows 8.1 and newer.
- Visit Downloads for developers
The MakeAppx.exe tool is typically found in operating system version specific locations:
C:\Program Files (x86)\Windows Kits\10\bin<build number><architecture>\makeappx.exe
# Where <architecture> = x86, x64, arm, ar64 or chpe. Alternatively, it may be located in:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit\makeappx.exe
Package Manifest (AppxManifest.xml)
https://learn.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-manual-conversion
If you’ve reserved your application name in the Microsoft Store, you can obtain the Name and Publisher by using Partner Center. If you plan to sideload your application onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.
<Identity Name="MyCompany.MySuite.MyApp"
Version="1.0.0.0"
Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
ProcessorArchitecture="x64">
Mapping File Structure
https://learn.microsoft.com/en-us/windows/win32/appxpkg/make-appx-package–makeappx-exe-#to-create-a-package-using-a-mapping-file
- Create a valid package manifest, AppxManifest.xml.
- Create a mapping file. The first line contains the string [Files], and the lines that follow specify the source (disk) and destination (package) paths in quoted strings.
[Files] "C:\MyApp\StartPage.htm" "default.html" "C:\MyApp\readme.txt" "doc\readme.txt" "\\MyServer\path\icon.png" "icon.png" "MyCustomManifest.xml" "AppxManifest.xml"
- Run this command:
**MakeAppx pack /f** _mapping_filepath_ **/p** _filepath_**.appx**
Upload Application
https://github.com/marketplace/actions/upload-microsoft-store-msix-package-to-github-release https://github.com/isaacrlevin/windows-store-action
Security
https://github.com/microsoft/win32-app-isolation/tree/41854015e3c8ecf2eb923bc75ed43ca82ea41e50 https://www.reddit.com/r/windows/comments/jvq3h3/msix_packaging_tool_is_not_working/ https://github.com/microsoft/WindowsAppSDK/discussions/2195#discussioncomment-4241061
Testing Locally
https://superuser.com/questions/1543363/how-to-open-a-windows-store-app-from-command-line
# Example app not from Microsoft:
start shell:AppsFolder\XINGAG.XING_xpfg3f7e9an52!App
# Where the string **`XINGAG.XING_xpfg3f7e9an52`** can be found as folder in **`%userprofile%\AppData\Local\Packages`**