MSIX (for Windos App Store) can't find entry point
-
Hi,
I have developed an Qt application. I deployed it. So far I just compress (archiv/zip) the files to publish them. Now I want to publish it in the Windows application store. I downloaded the MSIX packing tool, but it can't find the entry point. I also tried to skip that part and add the application entry in the manifest xml file like it is written in the MSIX documentation, but I always get a warning that my manifest file is wrong. Sadly without saying what exactly is wrong. I also started MSIX as an admin and I also done a setup file with the Qt installer framework; but also that to "tricks" doesn't help. It always can't find the entry point.
What might I have done wrong?
Thank you! -
Ok. Here is a short manual:
It contains 3 steps:
- Write the manifest file:
The most stuff is written here:
https://learn.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-manual-conversion
But there are a few more lines needed. You must add lines like this in the manifest file:
<Application Id="FET" Executable="fet.exe" EntryPoint="Windows.FullTrustApplication" uap10:RuntimeBehavior="packagedClassicApp" uap10:TrustLevel="mediumIL"> <uap:VisualElements DisplayName="FET - Free Timetabling Software" Description="FET - Free Timetabling Software" Square150x150Logo="icons\fet150.png" Square44x44Logo="icons\fet44.png" BackgroundColor="#FFFFFF"> </uap:VisualElements> </Application>- Step: make a msix file:
Just create a folder (for example "msix_build"), Copy your manifest.xml file into that folder and copy your DEPLOYED Qt application in that folder.
Download the Windows SDK. (If you are a commercial guy you could even add more source for copy protection with that. But I skipped that, since I published our open source software).
Then you need to build the package by a command like:
makeappx pack /d "C:\msix_build" /p "C:\FET.msix"makeappx is a bit hidden. Currently it is in:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64>- step: Uploading it into the Microsoft store:
Most stuff is pretty easy. Check that the name in the store is similar to the name in the manifest file (But in the manifest file without spaces!).
There are fields for CPU und GPU minimum and recommended value.
You must answer that "well". You can't just write "", "-", "i3" or "2Ghz". You must write something like "Intel Core i3 or AMD Ryzen" or "DirectX9-compatible GPU or APU".
You must tell Microsoft why your Application needs the FullTrust mode. I only wrote that it is a Qt desktop application and I need to access to load and save files on hard disk and I also need to print. That was accepted by Microsoft.
- Write the manifest file:
-
Thank you. Sadly the link didn't helped me. All my attempts with MSIX failed. But I solved it different now. I copied the manifest.xml file from MSIX and created it manually with the command line tool. The command line tool is better, since it reports the bug more detailed. By that I was able to hunt down the problem. There (in the manifest file and also in the Microsoft sample documentation) are a few missing lines in the manifest file. I added them and now I was able to create a package with the command line tool. Interestingly the same manifest file fails if pasted it into the GUI MSIX tool. But i didn't hunt that bug. After that I uploaded the package into the Microsoft App Store. Even there are a few strange tricks you need to know (for example I must check "Immersive headset", even I don't need it), but now my package was checked and is published by Microsoft. I downloaded and installed it. Works fine now. If anyone needs more detailed, I can explain it more detailed. I will mark it this topic as "solved" now.
-
V Volker75 has marked this topic as solved
-
I think an article/blog post/etc. might be nice.
It could be useful for other people.Something just came to my mind. KDE has multiple applications available through the Windows App Store. Maybe there something there you could check with regard to your own project.
-
Ok. Here is a short manual:
It contains 3 steps:
- Write the manifest file:
The most stuff is written here:
https://learn.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-manual-conversion
But there are a few more lines needed. You must add lines like this in the manifest file:
<Application Id="FET" Executable="fet.exe" EntryPoint="Windows.FullTrustApplication" uap10:RuntimeBehavior="packagedClassicApp" uap10:TrustLevel="mediumIL"> <uap:VisualElements DisplayName="FET - Free Timetabling Software" Description="FET - Free Timetabling Software" Square150x150Logo="icons\fet150.png" Square44x44Logo="icons\fet44.png" BackgroundColor="#FFFFFF"> </uap:VisualElements> </Application>- Step: make a msix file:
Just create a folder (for example "msix_build"), Copy your manifest.xml file into that folder and copy your DEPLOYED Qt application in that folder.
Download the Windows SDK. (If you are a commercial guy you could even add more source for copy protection with that. But I skipped that, since I published our open source software).
Then you need to build the package by a command like:
makeappx pack /d "C:\msix_build" /p "C:\FET.msix"makeappx is a bit hidden. Currently it is in:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64>- step: Uploading it into the Microsoft store:
Most stuff is pretty easy. Check that the name in the store is similar to the name in the manifest file (But in the manifest file without spaces!).
There are fields for CPU und GPU minimum and recommended value.
You must answer that "well". You can't just write "", "-", "i3" or "2Ghz". You must write something like "Intel Core i3 or AMD Ryzen" or "DirectX9-compatible GPU or APU".
You must tell Microsoft why your Application needs the FullTrust mode. I only wrote that it is a Qt desktop application and I need to access to load and save files on hard disk and I also need to print. That was accepted by Microsoft.
- Write the manifest file:
-
V Volker75 has marked this topic as solved
-
Thanks !