How to determine what process blocks my DLL?

N

nano2k

Hi

I'm implementing an simple updater application that updates another
application.
The scenario is as follows:
The main application (MA) checks if there are any updates. If updates
are present, it starts another application: the updater application
(UA).
After that, UA waits for MA to exit. After MA exits, UA reads the
updating package and overwrites all the files.
Unfortunately, some private dll's are still in use, even after MA has
exited (!). It's impossible that those dll's are used by another
process because no running process references my dll.

Is there a way to find out what other process holds and blocks my dll?

Thanks.
 
N

Nicholas Paldino [.NET/C# MVP]

N

nano2k

Thanks Nicholas,

Forgot to mention. I'm using VS2003 with .NET 1.1.
Anyway, meantime I found out that VS was blocking my DLLs because I
used them for toolbox.
But still the question remains - is there a way to programatically get
the process/es that loaded a specific DLL?

Thanks.


Nicholas Paldino [.NET/C# MVP] a scris:
nano2k,

Not to try and dissuade you, but considering that there is an
Application Updater Block in the Enterprise Library, and that ClickOnce also
provides very similar functionality, why would you try and rewrite this
functionality yourself?

For more information on ClickOnce:

http://msdn2.microsoft.com/en-us/netframework/aa497348.aspx

For more information on the Application Updater Block:

http://msdn2.microsoft.com/en-us/library/ms978574.aspx

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

nano2k said:
Hi

I'm implementing an simple updater application that updates another
application.
The scenario is as follows:
The main application (MA) checks if there are any updates. If updates
are present, it starts another application: the updater application
(UA).
After that, UA waits for MA to exit. After MA exits, UA reads the
updating package and overwrites all the files.
Unfortunately, some private dll's are still in use, even after MA has
exited (!). It's impossible that those dll's are used by another
process because no running process references my dll.

Is there a way to find out what other process holds and blocks my dll?

Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top