View Full Version : cannot delete dll


Bob Weiner
10-22-2003, 09:41 PM
I am attempting to delete a dll on our web server. I killed the dllhost
process that the IWAM user was running. Usually this is sufficient but not
this time.

I unloaded the application in IIS, and did a
> tlist -m dllname*
which said that nobody was using it. I still can't delete it.

This is a dll that I wrote and no one else should even know it exists so I
doubt another user is involved.

What else can I look for in this situation?

bob

Ray at
10-22-2003, 10:05 PM
Try:

iisreset /stop
del C:\Path\Yourfile.dll
iisreset /start

Ray at work



"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> I am attempting to delete a dll on our web server. I killed the dllhost
> process that the IWAM user was running. Usually this is sufficient but
not
> this time.
>
> I unloaded the application in IIS, and did a
> > tlist -m dllname*
> which said that nobody was using it. I still can't delete it.
>
> This is a dll that I wrote and no one else should even know it exists so I
> doubt another user is involved.
>
> What else can I look for in this situation?
>
> bob
>
>

Ray at
10-22-2003, 10:05 PM
Try:

iisreset /stop
del C:\Path\Yourfile.dll
iisreset /start

Ray at work



"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> I am attempting to delete a dll on our web server. I killed the dllhost
> process that the IWAM user was running. Usually this is sufficient but
not
> this time.
>
> I unloaded the application in IIS, and did a
> > tlist -m dllname*
> which said that nobody was using it. I still can't delete it.
>
> This is a dll that I wrote and no one else should even know it exists so I
> doubt another user is involved.
>
> What else can I look for in this situation?
>
> bob
>
>

Bob Weiner
10-24-2003, 04:05 PM
thanks, good suggestion but its a no go. So now we know that neither the
web server process nor the associated dllhost process is the culprit.

While I am testing the program, a
> tlist -m "usermgmt*"
reveals that dllhost.exe is the one and only process using the dll.

What if I have a cyclic reference inside the dll. For instance if I create
usermgmt.user which then creates usermgmt.svr which then inadvertantly
references the user object? I believe then that even after the last process
dies the file remains locked and I cannot remove the dll. I also seem to
remember that the OS will detect the cyclic reference after about 20 minutes
and clean all object references. Then I should be able to delete the dll.
Of course, rebooting would work too but that is not always an option.

Is there anyway to force the system to speed up the above process? override
the locking in this case? is there a windows kill -9? Is Russonovich or
Solomon reading this group???

bob


"Ray at <%=sLocation%>" <myfirstname at lane34 dot com> wrote in message
news:%23C%2399AOmDHA.2432@TK2MSFTNGP10.phx.gbl...
>
> Try:
>
> iisreset /stop
> del C:\Path\Yourfile.dll
> iisreset /start
>
> Ray at work
>
>
>
> "Bob Weiner" <bob@engr.uconn.edu> wrote in message
> news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> > I am attempting to delete a dll on our web server. I killed the dllhost
> > process that the IWAM user was running. Usually this is sufficient but
> not
> > this time.
> >
> > I unloaded the application in IIS, and did a
> > > tlist -m dllname*
> > which said that nobody was using it. I still can't delete it.
> >
> > This is a dll that I wrote and no one else should even know it exists so
I
> > doubt another user is involved.
> >
> > What else can I look for in this situation?
> >
> > bob
> >
> >
>
>

Bob Weiner
10-24-2003, 04:05 PM
thanks, good suggestion but its a no go. So now we know that neither the
web server process nor the associated dllhost process is the culprit.

While I am testing the program, a
> tlist -m "usermgmt*"
reveals that dllhost.exe is the one and only process using the dll.

What if I have a cyclic reference inside the dll. For instance if I create
usermgmt.user which then creates usermgmt.svr which then inadvertantly
references the user object? I believe then that even after the last process
dies the file remains locked and I cannot remove the dll. I also seem to
remember that the OS will detect the cyclic reference after about 20 minutes
and clean all object references. Then I should be able to delete the dll.
Of course, rebooting would work too but that is not always an option.

Is there anyway to force the system to speed up the above process? override
the locking in this case? is there a windows kill -9? Is Russonovich or
Solomon reading this group???

bob


"Ray at <%=sLocation%>" <myfirstname at lane34 dot com> wrote in message
news:%23C%2399AOmDHA.2432@TK2MSFTNGP10.phx.gbl...
>
> Try:
>
> iisreset /stop
> del C:\Path\Yourfile.dll
> iisreset /start
>
> Ray at work
>
>
>
> "Bob Weiner" <bob@engr.uconn.edu> wrote in message
> news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> > I am attempting to delete a dll on our web server. I killed the dllhost
> > process that the IWAM user was running. Usually this is sufficient but
> not
> > this time.
> >
> > I unloaded the application in IIS, and did a
> > > tlist -m dllname*
> > which said that nobody was using it. I still can't delete it.
> >
> > This is a dll that I wrote and no one else should even know it exists so
I
> > doubt another user is involved.
> >
> > What else can I look for in this situation?
> >
> > bob
> >
> >
>
>

Bob Weiner
10-24-2003, 04:30 PM
ok, the 20 minute rule isn't correct, either

"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA%23AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>
>
> "Ray at <%=sLocation%>" <myfirstname at lane34 dot com> wrote in message
> news:%23C%2399AOmDHA.2432@TK2MSFTNGP10.phx.gbl...
> >
> > Try:
> >
> > iisreset /stop
> > del C:\Path\Yourfile.dll
> > iisreset /start
> >
> > Ray at work
> >
> >
> >
> > "Bob Weiner" <bob@engr.uconn.edu> wrote in message
> > news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> > > I am attempting to delete a dll on our web server. I killed the
dllhost
> > > process that the IWAM user was running. Usually this is sufficient
but
> > not
> > > this time.
> > >
> > > I unloaded the application in IIS, and did a
> > > > tlist -m dllname*
> > > which said that nobody was using it. I still can't delete it.
> > >
> > > This is a dll that I wrote and no one else should even know it exists
so
> I
> > > doubt another user is involved.
> > >
> > > What else can I look for in this situation?
> > >
> > > bob
> > >
> > >
> >
> >
>
>

Bob Weiner
10-24-2003, 04:30 PM
ok, the 20 minute rule isn't correct, either

"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA%23AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>
>
> "Ray at <%=sLocation%>" <myfirstname at lane34 dot com> wrote in message
> news:%23C%2399AOmDHA.2432@TK2MSFTNGP10.phx.gbl...
> >
> > Try:
> >
> > iisreset /stop
> > del C:\Path\Yourfile.dll
> > iisreset /start
> >
> > Ray at work
> >
> >
> >
> > "Bob Weiner" <bob@engr.uconn.edu> wrote in message
> > news:eQAgvzNmDHA.2964@tk2msftngp13.phx.gbl...
> > > I am attempting to delete a dll on our web server. I killed the
dllhost
> > > process that the IWAM user was running. Usually this is sufficient
but
> > not
> > > this time.
> > >
> > > I unloaded the application in IIS, and did a
> > > > tlist -m dllname*
> > > which said that nobody was using it. I still can't delete it.
> > >
> > > This is a dll that I wrote and no one else should even know it exists
so
> I
> > > doubt another user is involved.
> > >
> > > What else can I look for in this situation?
> > >
> > > bob
> > >
> > >
> >
> >
>
>

Marty List
10-24-2003, 04:39 PM
"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA#AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>

Here's something to try as a workaround. Sometimes you can rename the DLL,
and copy another one in its place. New processes should use the new one.
Delete the old one after a reboot. This would only work on Windows 2000 or
later.

Marty List
10-24-2003, 04:39 PM
"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA#AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>

Here's something to try as a workaround. Sometimes you can rename the DLL,
and copy another one in its place. New processes should use the new one.
Delete the old one after a reboot. This would only work on Windows 2000 or
later.

David Wang [Msft]
10-25-2003, 05:51 AM
On W2K and later, I just:
MOVE <old-file> <new-file>
COPY <update-file> <old-file>

Later on, delete <new-file> at your leisure.

--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Marty List" <Bill.Gates@sun.com> wrote in message
news:bnbh3t$u7c0h$1@ID-172409.news.uni-berlin.de...

"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA#AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>

Here's something to try as a workaround. Sometimes you can rename the DLL,
and copy another one in its place. New processes should use the new one.
Delete the old one after a reboot. This would only work on Windows 2000 or
later.

David Wang [Msft]
10-25-2003, 05:51 AM
On W2K and later, I just:
MOVE <old-file> <new-file>
COPY <update-file> <old-file>

Later on, delete <new-file> at your leisure.

--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Marty List" <Bill.Gates@sun.com> wrote in message
news:bnbh3t$u7c0h$1@ID-172409.news.uni-berlin.de...

"Bob Weiner" <bob@engr.uconn.edu> wrote in message
news:epJA#AkmDHA.964@TK2MSFTNGP10.phx.gbl...
> thanks, good suggestion but its a no go. So now we know that neither the
> web server process nor the associated dllhost process is the culprit.
>
> While I am testing the program, a
> > tlist -m "usermgmt*"
> reveals that dllhost.exe is the one and only process using the dll.
>
> What if I have a cyclic reference inside the dll. For instance if I
create
> usermgmt.user which then creates usermgmt.svr which then inadvertantly
> references the user object? I believe then that even after the last
process
> dies the file remains locked and I cannot remove the dll. I also seem to
> remember that the OS will detect the cyclic reference after about 20
minutes
> and clean all object references. Then I should be able to delete the dll.
> Of course, rebooting would work too but that is not always an option.
>
> Is there anyway to force the system to speed up the above process?
override
> the locking in this case? is there a windows kill -9? Is Russonovich or
> Solomon reading this group???
>
> bob
>

Here's something to try as a workaround. Sometimes you can rename the DLL,
and copy another one in its place. New processes should use the new one.
Delete the old one after a reboot. This would only work on Windows 2000 or
later.