Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
6.4.3, 6.5.2
-
Windows 10, Qt Creator 11, Visual Studio 2019 Community, Qt 6.4.3 / 6.5.2 MSVC2019 64bit kit, Ninja generator (via Qt Online Installer); also tested with Qt 6.5.2 built statically
Description
I have created a minimal QtQuick project to demonstrate the issue: https://github.com/paulmasri/Qt6-CMake-QML
This contains a small QML app, complete with AppxManifest.xml & assets, and with CMake to build, deploy, package, (optionally bundle) and sign. The result is a file that can be double-clicked to install locally. (.appx if signed package, .appxbundle if signed bundle).
See the README in the project which includes creation of a self-signed certificate for local installation, and the CMake build variables that need setting.
—
After installing the app, open it from the Start menu.
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 behaviour is slightly different. The Windows splash screen shows and the app shows in a separate window (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.
See this screen capture video: https://youtu.be/ZSNjuDB6508
—
I am raising this bug with a minimal example. However I did submit my real Qt Quick app to the Microsoft Store. The upload was successful. It passed validation and certification checks. It was published (as a Package Flight). I installed it via the Microsoft Store and discovered this issue.
(This is a critical blocking issue on my client's ability to release a major update.)
—
In contrast, building the Affine Qt Widgets example (kindly created by cadam), which has a very similar CMake file, this builds, deploys, packages and signs the app, generating a .appx package that can be installed locally. This works fine.
I believe the only notable differences in my Qt Quick app's CMake, other than the Qt libraries used, are use of qt_add_qml_module and replacing qt_generate_deploy_app_script with qt_generate_deploy_qml_app_script.