I am trying to use Registration-free WinRT by adding an application manifest following https://blogs.windows.com/windowsdeveloper/2019/04/30/enhancing-non-packaged-desktop-apps-using-windows-runtime-components/ to my DLL which is used as a in-proc COM server.
However, I get REGDB_E_CLASSNOTREG
when the runtime class is instantiated. I used mt.exe
to make sure the manifest is embedded. I am on Win-10 2004. Is this supposed to be working for win32 in-proc DLL servers? Is there an API call to register the component manually?
Make sure all dependencies related to WinRT component are present. Dependencies can be other required DLLs or VS runtime DLLs etc.
One problem I faced was:
VCRUNTIME140_APP.dll not found
, so I copied VC runtime libraries from the following location:to the output folder, post this
FFmpegInteropX
component got loaded into application (I think this can be solved by installingMicrosoft.VCRTForwarders.140
nuget, but haven't tried it yet)