tags:

views:

46

answers:

4

I created a COM exposed .NET 2.0 dll and registered with my windows operating system using 'regasm' and 'gacutil' (in GAC). Then I tried to call this component from my classic ASP page. It worked fine. But, I need to change the functionality of my assembly. I unregistered it again using 'regasm' and 'gacutil' (from GAC) utilities and copied my new .NET DLL and registered again (This time using a new version of the DLL).

For some reason, i still have a pointer to my old assembly and new calls to the DLL from ASP page are not working.

Any Ideas on what process i need to follow to ensure that all the references to the old version are completely removed?

I appreciate any help.

A: 

Do you see any errors from these commands?

gacutil.exe /u <assembly-name>
regasm.exe  /u <assembly-name>

I wonder if something could be holding the assembly open so that it can't be deleted?

After running the unregister commands it is worth checking that the assembly references have been removed from the registry.

If they haven't, try using Process Explorer to search for processes holding open file handles for the assembly.

richj
A: 

You have to stop the service because it keeps the registered file in use. Stop the service, change the version, and restart it.

Seb
A: 

Richj, where should i check in the registry. Is there any specific location which is reserved for this?

Seb, can you please tell me which service are you talking about?

Can you please let me know the recommended process to unregister the assembly completely that i can follow in production environment.

flopdix
You should be able to leave a comment on a question, not leaving comments as answers.
Nick
A: 

In the registry, do i need to search for the folder with the CLSID name as in the AssemblyInfo.cs. There i could see the reference to the dll (full path) along with the version.

So do i need to delete the old version reference everytime from the registry before i install the new one?

flopdix
You should submit additional information or questions as an *edit* to your original question, not as an answer.
Nick