Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. MSIX (for Windos App Store) can't find entry point
Forum Updated to NodeBB v4.3 + New Features

MSIX (for Windos App Store) can't find entry point

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 2 Posters 132 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    Volker75
    wrote last edited by Volker75
    #1

    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!

    1 Reply Last reply
    0
    • V Offline
      V Offline
      Volker75
      wrote last edited by
      #5

      Ok. Here is a short manual:

      It contains 3 steps:

      1. 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>
      
      1. 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>
      
      1. 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.
      1 Reply Last reply
      1
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote last edited by
        #2

        Hi,

        I think this thread might be what you are looking for.

        Hope it helps

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • V Offline
          V Offline
          Volker75
          wrote last edited by
          #3

          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.

          1 Reply Last reply
          0
          • V Volker75 has marked this topic as solved
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote last edited by
            #4

            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.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • V Offline
              V Offline
              Volker75
              wrote last edited by
              #5

              Ok. Here is a short manual:

              It contains 3 steps:

              1. 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>
              
              1. 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>
              
              1. 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.
              1 Reply Last reply
              1
              • V Volker75 has marked this topic as solved
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote last edited by
                #6

                Thanks !

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved