Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

i want to speed up the registration process of dll's with regsvr32. Basically we need to register 3-6 dll's every time a build task is executed, and this takes up to 5 seconds/ dll -> sometimes the registration itself takes longer than the actual build. Our CI Server executes each registration as separate step.

Do you know how to make regsvr32 faster?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

regsvr32 is a very simple program that simply loads a DLL and calls DllRegisterServer. It's the DLL that's taking the time to register not the regsvr32 process.

If this is a build process under your control on a server under your control you may be able to handle this a little bit smarter. If the list of classes (or other registration data) hasn't changed then you probably don't even need to call regsvr32. As long as you haven't unregistered the data the COM data will remain in the registry pointing to a DLL in a particular location. Just because the DLL may change doesn't mean that any of COM data associated with the DLL has changed.

share|improve this answer
    
Thanks for your answer. This is what i feared - we are bound by requirements to register / de register every dll for each component for each build in order to keep the build machine clean. Looks like we have to live with the added build time. –  ghagleit Jun 10 '13 at 6:16
    
If you run regsvr32 on the same DLL multiple times does the same DLL take a consistenly long time? If it does then it sounds like the DLL may be doing more than just adding registry entries. If not then it might be a DLL dependency issue. Either way you'd need to sit down with the developers to sort it out. Good luck. –  snowdude Jun 10 '13 at 8:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.