Wine Bug: https://bugs.winehq.org/show_bug.cgi?id=59625 Set/GetCurrentProcessExplicitAppUserModelID were stubs. Set returned S_OK but discarded the value, Get always returned NULL with E_NOTIMPL. This broke .NET WPF applications that set an AppUserModelID during startup and later retrieve it, causing "String argument cannot be null or empty" crashes. Implement both using a process-wide variable protected by a critical section. Callers receive CoTaskMemAlloc'd copies per the API contract. -- v5: shcore/tests: Add tests for Set/GetCurrentProcessExplicitAppUserModelID. shcore: Implement Set/GetCurrentProcessExplicitAppUserModelID. include: Add APPLICATION_USER_MODEL_ID length constants to appmodel.h. https://gitlab.winehq.org/wine/wine/-/merge_requests/10565