[Interest] QtQuick app fatal DCOM errors (Microsoft Store app)

Paul Masri-Stone paulmasri at gmail.com
Thu Sep 28 15:47:01 CEST 2023


I've built a static version of Qt 6.5.2 with the following configure
options. However it hasn't changed anything.

configure.bat -static -release -platform win32-msvc -prefix "%_BUILD_DIR%"
-make tools -nomake examples -nomake tests -skip qt3d -skip qtactiveqt
-skip qtcanvas3d -skip qtcharts -skip qtcoap -skip qtconnectivity -skip
qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtgrpc -skip qthttpserver
-skip qtimageformats -skip qtinsighttracker -skip qtlocation -skip
qtlanguageserver -skip qtlottie -skip qtmacextras -skip qtmqtt -skip
qtnetworkauth -skip qtopcua -skip qtpositioning -skip qtpurchasing -skip
qtquick3d -skip qtquick3dphysics -skip qtquicktimeline -skip
qtquickeffectmaker -skip qtremoteobjects -skip qtscxml -skip qtsensors
-skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools -skip
qttranslations -skip qtvncserver -skip qtwayland -skip qtwebchannel -skip
qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip
qtx11extras -skip qtxmlpatterns -schannel

Just like when I used the built-in non-static kit "Qt 6.5.2 MSVC2019
64bit", I can build and run my app from within Qt Creator but when I
package, sign and install it locally, the app itself appears in a separate
window to the built-in Windows splash screen, and when I close the app it
results in a "Distributed COM" error in the Windows Log.

Here is a short video showing what I mean: https://youtu.be/ZSNjuDB6508

It would be great to get a response from the Qt team. Either to let me know
this is a Qt bug or to let me know "the right way" to put together a QML
app for the Microsoft Store.

Thanks,
Paul.

On Thu, 21 Sept 2023 at 21:26, Paul Masri-Stone <paulmasri at gmail.com> wrote:

> Hi Cristian,
>
> Yes it was intentional that I don't have the "runFullTrust" capability. My
> app doesn't use any features that would need this capability and including
> it would cause a popup for users telling them the app was asking for those
> privileges. From the advice I've seen you should avoid this unless it's
> truly needed as it can cause issues during app review.
>
> You may be right about static build and I'll wait to hear back from others
> on this list. I'm hoping that's not necessary as that would be a pain and,
> to be honest, the versions of Qt that come via the Maintenance Tool ought
> to be able to deliver... I hope??
>
> Thanks for your thoughts... and your effort in creating that Affine
> example. :-)
>
> Cheers,
> Paul.
>
> On Thu, 21 Sept 2023 at 13:12, Cristian Adam <cristian.adam at qt.io> wrote:
>
>> On 21-Sep-23 13:44, Paul Masri-Stone wrote:
>>
>> Hi,
>>
>> I'm trying to get a Qt6/CMake app packaged for the Microsoft Store (for
>> Windows 10/11 PCs).
>>
>> Cristian Adam showed me how this can be done for a QtWidgets app on Qt
>> 6.5.2, using the Qt Affine example project. I have tested this locally and
>> it works fine.
>> https://github.com/cristianadam/AffineWindowsStore
>>
>> I have created a minimal QtQuick/QML app complete with app manifest and
>> associated assets. After running build and install, packaging and signing,
>> I have installed this locally. However it does not run properly.
>>
>> If built with Qt 6.4.3, the Windows splash screen shows and then the app
>> crashes. Looking in the Event Viewer > Windows Logs > System, there is the
>> error:
>> > The server QtExperiment.Qt6-CMake-QML_1.0.0.0_x64__2knhhsfpfy4mw!App
>> did not register with DCOM within the required timeout.
>>
>> If built with Qt 6.5.2, the Windows splash screen shows and the app shows
>> in a separate window (which it shouldn't). Closing the splash screen window
>> does nothing. Closing the app window closes the application and also logs
>> the same "Distributed COM" error.
>>
>> Is this a bug or an error at my end?
>>
>> For reference, I've put the project, along with README notes on Github:
>> https://github.com/paulmasri/Qt6-CMake-QML
>>
>> Notes:
>> 1. Running the app locally from Qt Creator (i.e. no package/sign/install)
>> works fine.
>> 2. For my real app, I was actually able to upload the signed bundle to a
>> Flight Package on the Partner Center, where it passed certification and
>> could be downloaded via the Microsoft Store. However it suffers the same
>> problems above.
>>
>> Thanks for your help,
>> Paul.
>>
>> In my example I've put a part in the Appxmanifest.xml.in file that has:
>>
>>   <Capabilities>
>>     <rescap:Capability Name="runFullTrust" />
>>   </Capabilities>
>>
>> This is not present in your example.
>>
>> I have no idea which part of Qt would require a DCOM call (networking?).
>> You might want to do a static build of Qt with some things removed, if you
>> don't want to have the runFullTrust part.
>>
>> Cheers,
>> Cristian.
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20230928/7a2aa7c0/attachment.htm>


More information about the Interest mailing list