https://bugs.winehq.org/show_bug.cgi?id=50279
--- Comment #5 from Ben bvandermerwe@kbcat.com --- Ignore KBC.Historian.DLL, it is never loaded, the applicaton can function without it, it is fine if it fails. It is a .NET COM component, not registered.
Please focus on the kcunitop.dll. You can clearly see it in the manifest and the trace log file, and if you search for its GUID C4203DFD you can see in the trace file where the cocrete fails.
The manifest I attached is accurate, but I renamed a few of the DLLs in there for anonimity (so the KC.Historian is really KBC.Historian).
Please note that only the EXE has a manifest, anything else doesnt, unless it is a small dummy one automatically created by the compiler or something. The EXE manifest lists the registration free COM components:
<file name="kcunitop.dll"> <comClass clsid="{27345ECA-2B0E-11D3-BF76-0090271CC18F}" threadingModel="Apartment"/> <comClass clsid="{C4203DFD-03FA-11D3-9BC7-00500409FB41}" threadingModel="Apartment"/> </file>
But cocreateinstance using the second fails. It either does not get it from the manifest, or looks in the manifest for the DLL which calls cocreateinstance and does not also loo at the exe manifest. I am guessing.