https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #13 from Damjan Jovanovic damjan.jov@gmail.com --- Searching include/winerror.h for 80020006, this came up:
---snip--- #define DISP_E_UNKNOWNNAME _HRESULT_TYPEDEF_(0x80020006) ---snip---
DISP_E_UNKNOWNNAME is only returned from a few places in dlls/msxml3, and patching each place to log that it's returning it, immediately found where it's coming from:
---snip--- static HRESULT WINAPI domelem_setAttributeNode( IXMLDOMElement *iface, IXMLDOMAttribute* attribute, IXMLDOMAttribute** old) { ... /* adding xmlns attribute doesn't change a tree or existing namespace definition */ if (!wcscmp(nameW, xmlnsW)) { SysFreeString(nameW); return DISP_E_UNKNOWNNAME; } ... } ---snip---
The app is trying to set the "xmlns" attribute, which Wine explicitly checks for and immediately fails with DISP_E_UNKNOWNNAME, for some strange reason.
Changing it to return S_OK instead there, got the app to start up, although I think there are other msxml bugs during new project creation.
Now the real question is how to fix this properly.