Video Screencast Help
Search Video Help Close Back
to help
New in the Rewards Catalog: Vouchers for "Symantec Technical Specialist" and "Symantec Certified Specialist" exams.

Library not registred

Updated: 23 May 2010 | 5 comments
iluom2's picture
0 0 Votes
Login to vote

Hi

When i'm applying a patch on a software...
Lot many dll are being replaced and registred. when the application is running after the patch is applied...
we end up with a error saying  library not registered...exception from HRESULT...
i understood some dll registration has been failed while applying the patch.

Is there any way to figure out which one has been failed other than verbose log?

Tnx
iluom2

Comments

EdT's picture
30
Mar
2009
0 Votes 0
Login to vote

No simple way

You could extract the registration information from each library using WiseComCapture, then check in the target machine registry for which keys are missing.
Alternatively, run an explicit registration operation for each new DLL in you rpatch - there is no issue with registering a DLL a second time if it is already registered from the same location.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

iluom2's picture
31
Mar
2009
0 Votes 0
Login to vote

You could extract the

You could extract the registration information from each library using WiseComCapture, then check in the target machine registry for which keys are missing.
Alternatively, run an explicit registration operation for each new DLL in you rpatch - there is no issue with registering a DLL a second time if it is already registered from the same location.

Can you tell me how to do explicit registration operation?
Is there any way in wise Script?
 

EdT's picture
31
Mar
2009
0 Votes 0
Login to vote

Run REGSVR32.EXE

You can explicitly register a DLL using REGSVR32.EXE, and this can be carried out using Wisescript's Execute Program command.
You can check if a DLL is capable of registration by running:
regsvr32.exe  <path>\YourDll.dll

If running within a custom action, you would add the /s switch for a silent registration.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

VBScab's picture
01
Apr
2009
0 Votes 0
Login to vote

Ed! What are you doing?!? :)

Ed! What are you doing?!? :)
I read through your response, looking - in vain - for the usual caveat that registering DLLs/OCXs with RegSvr32 is the wrong way to go about things, if for no other reason than, if the file in question has dependencies, the registration will fail if those dependencies are not present.

In any event, why on earth would re-registration be necessary for a patch? Surely none of the CLSIDs or object names have changed? If they have, that makes this an upgrade, not a patch. In fact, I might be minded to count that as a new product.

Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.

EdT's picture
01
Apr
2009
0 Votes 0
Login to vote

Striking a balance

If a DLL has been updated and additional entry points provided, or a bug in existing entry points fixed, then re-registration is very likely to be required. The jury is still out on whether this would count as a patch or an upgrade - especially as Microsoft themselves are greying the boundaries.

Sure, there are dependency issues, hence my suggestion about  a manual check of registration - maybe I did not spell it out, but I like to strike a balance and assume some level of experience in the user asking the question.
It doesn't take long to find out if additional information is required, as you know, from the  users who expect us to complete the entire project for them, or who ask questions that Mr Google already has answers for.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.