https://bugs.winehq.org/show_bug.cgi?id=50279
--- Comment #12 from Ben bvandermerwe@kbcat.com --- That is correct. The manifest has:
<dependentAssembly> <assemblyIdentity name="KBC.Historian" version="7.3.0.0" processorArchitecture="amd64"/> </dependentAssembly> </dependency>
And KBC.Historian.dll is a .NET dll. Wine reports:
0078:trace:actctx:lookup_assembly looking for name=L"KBC.Historian" version=7.1.0.0 arch=L"x86" 0078:trace:actctx:get_manifest_in_pe_file looking for res #0001 in L"\??\c:\program files (x86)\KBC\sim suite 7.1\PSIM\KBC.Historian.dll" 0078:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x230001 L"\??\c:\program files (x86)\KBC\sim suite 7.1\PSIM\KBC.Historian.dll" 0078:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"KBC.Historian" (7.1.0.0)
Even though that file definitely does exist. Why it has issues, I do not know.
But this failure causes the context to not be created. The application loads, but any side by side COM invocation, even for other DLLs, fails. It is as if the manifest is not there, you have to regsvr32 the COM components.
It looks to me like the context creation should not fail because of this. It is throwing the baby out with the bath water. If the application is going to run, which it does, do everything to make work what does work, create a context and use what you can from it.
So one snippet with issues in the manifest brings down the whole thing, that at least can be improved. Please save that baby! Only throw out the water, not the baby too!