1
votes

We have deployed our .net application along with some COM components in docker but when we are trying to register COM dlls using regsvr32 the command gets executed without any error. But when we search for the CLS ID in the registry it is not available. Is it possible to register COM components in docker?

1
regsvr32 just instructs a COM component to register, it does nothing by itself. All registration work (registry change or anything else) is done by the COM component itself, so if regsvr32 works, the answer is yes, but ultimately what's changed depends on what's the component supposed to do. Also make sure you're looking at the good registry: 32-bit vs 64-bit also depending on the componentSimon Mourier
Its a 32 bit component. But we are still getting Retrieving the COM class factory for component with CLSID {XXXX} failed. And 32bit is enabled in docker environment as well.Abinash Panda
Are you running elevated in the container? If you want to successfully register, it needs to be run elevated. I am not sure if there is an error when running non-elevated or if it just registers for the currrent user... Also, looking in the right place ? HKEY_LOCAL_MACHINE\Software\Wow6432node\classes ?Joseph Willcoxson
We have tried with elevated access as well but no luckAbinash Panda

1 Answers

3
votes

After copying a dll named msvbvm60.dll into System folder inside container, dll registrations started working.