Closed tegat closed 6 months ago
Hi I'm an AI powered bot that finds similar issues based off the issue title.
Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one. Thank you!
Note: You can give me feedback by thumbs upping or thumbs downing this comment.
@tegat thanks for your report. Does your app actually run, or does it crash? Apps based on the Windows Runtime (or COM), will often raise HRESULT exceptions that are not necessarily fatal, if handled in calling code. The same is true of frameworks like Windows App SDK. So, you'll generally see quite a few errors like 0x80004002 in the debug output pane.
@Scottj1s I think the general issue that some people have is that there is a lot written to the debugger output. This generally raises the question of whether a library should write output to the debugger since it makes debugging the application harder. Especially if it is internal to the library.
To give some examples from a WinUI 3 project that runs correctly.
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(898)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CAB683: (caller: 00007FFFE3CA9DD0) LogHr(1) tid(8174) 80040010 Object is not in any of the inplace active states
Msg:[Bootstrap.Intitialize: Scanning packages for Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0] CallContext:[\Initialize]
'Meh.exe' (Win32): Loaded 'C:\Windows\System32\Windows.StateRepositoryCore.dll'.
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(987)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CABE06: (caller: 00007FFFE3CA9DD0) LogHr(2) tid(8174) 80040011 Not able to convert object
Msg:[Bootstrap.Intitialize: Microsoft.WinAppRuntime.DDLM.5000.1066.33.0-x6-e1_5000.1066.33.0_x64__8wekyb3d8bbwe not applicable. Version doesn't match MinVersion criteria (Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0)] CallContext:[\Initialize]
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(987)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CABE06: (caller: 00007FFFE3CA9DD0) LogHr(3) tid(8174) 80040011 Not able to convert object
Msg:[Bootstrap.Intitialize: Microsoft.WinAppRuntime.DDLM.5000.1066.33.0-x8-e1_5000.1066.33.0_x86__8wekyb3d8bbwe not applicable. Version doesn't match MinVersion criteria (Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0)] CallContext:[\Initialize]
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(1007)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CAC049: (caller: 00007FFFE3CA9DD0) LogHr(4) tid(8174) 80040012 Not able to perform the operation because object is not given storage yet
Msg:[Bootstrap.Intitialize: Microsoft.WinAppRuntime.DDLM.5001.58.448.0-x6_5001.58.448.0_x64__8wekyb3d8bbwe is applicable (Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0)] CallContext:[\Initialize]
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(998)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CABF80: (caller: 00007FFFE3CA9DD0) LogHr(5) tid(8174) 80040011 Not able to convert object
Msg:[Bootstrap.Intitialize: Microsoft.WinAppRuntime.DDLM.5001.58.448.0-x8_5001.58.448.0_x86__8wekyb3d8bbwe not applicable. Architecture doesn't match current architecture x64 (Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0)] CallContext:[\Initialize]
\dev\WindowsAppRuntime_BootstrapDLL\MddBootstrap.cpp(1030)\Microsoft.WindowsAppRuntime.Bootstrap.dll!00007FFFE3CAC3AE: (caller: 00007FFFE3CA9DD0) LogHr(6) tid(8174) 80040013 Msg:[Bootstrap.Intitialize: Microsoft.WinAppRuntime.DDLM.5001.58.448.0-x6_5001.58.448.0_x64__8wekyb3d8bbwe best matches the criteria (Major.Minor=1.5, Tag=, MinVersion=5001.58.448.0) of 108 packages scanned] CallContext:[\Initialize]
This comes from the call to MddBootstrapInitialize2. It is looking for the DDLM package for the bootstrap, and all of this is written to the debugger output.
There are cases of:
onecore\base\appmodel\runtime\src\lookup.cpp(218)\kernelbase.dll!00007FF8A8A3FEF5: (caller: 00007FF8A8AA116A) ReturnHr(1) tid(8174) 8007007A The data area passed to a system call is too small.
This most likely comes from function calls that you call at least twice, the first is to get the buffer size. GetModuleFileName is also a possible example of this. The error value, 0x8007007A is the HRESULT version of ERROR_INSUFFICIENT_BUFFER.
There is much more being written to the debugger output, and all of it is coming from one of the libraries packaged in the Windows App Runtime.
This output came from the minimal app created by Visual Studio. It consists of a button inside a window. It runs correctly but it doesn't do anything useful. So I was highly surprised to see all these errors. Some look quite severe.
Either one of 2 things is true:
Which is it?
Thanks for filing! I believe @pratikone has tightened up some of the logging specifically from the bootstrapper for WinAppSDK 1.6 (not yet released).
I understand your frustration with the output here. It's on our radar and we do plan to make some incremental improvements, but we're not going to tackle it all at once.
I followed the steps here (https://learn.microsoft.com/en-us/windows/apps/winui/winui3/create-your-first-winui3-app) to create an unpackaged C++ WinUi app.
I didn't make any changes to the xaml or source files. The only changes I made were to the .vcxproj project file as instructed.
I built and ran the program in the debugger and received a lot of errors though the very simple UI did show up with the button which when clicked changes its label.
However, I would like to know what I am missing for all these errors to show up so I can prevent future issues.
Windows 11 Pro Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.8.0
nuget packages installed: Microsoft.Windows.CppWinRT 2.0.240111.5 Microsoft.Windows.ImplementationLibrary 1.0.240122.1 Microsoft.Windows.SDK.BuildTools 10.0.22621.3233 Microsoft.WindowsAppSDK 1.5.240227000
Full output log: