Missing ?.NET? file in a C:\winnt\assembly "subdirectory"

  • Thread starter Thread starter mrpetegroups
  • Start date Start date
M

mrpetegroups

Hi -

Problem: The file below has become zero length
\winnt\assembly\GAC_MSIL\system.deployment\2.0.0.0_b03f5f7f11d50a3a
\system.deployment.dll

Details follow ...

I've been programming computers for a long, long time, but VB/.NET/
etc. is not my specialty.

I suspect that the folks who read this .NET forum are the ones who
have a clue about what is in the GAC_MSIL "directory." That's why I've
asked this question here.

The file below has been wiped out (made into a zero length file). It
happened when power went out while I was defragmenting my hard drive.
I have backups for the other files lost, but not for this file.

\winnt\assembly\GAC_MSIL\system.deployment\2.0.0.0_b03f5f7f11d50a3a
\system.deployment.dll

The question is what should I do to try to recover from this
situation? I believe that the file system.deployment.dll is a .NET v2
file, is that correct?

The PC is running the software below:

Windows 2000 __________ fully patched
Microsoft Office 2000 _ fully patched
VB6 version 6.4.99.72 _ VB5 not installed
..NET Framework v2.0 ___ (see below, 7 "paragraphs" down)

When I look in Windows Explorer I see the C:\WINNT\assembly directory
and the "file" "System.Deployment" .

When I right click on that file and look at properties I see ...
Name: ___________________ System.Deployment
Processor Architecture: _ MSIL
Last Modified: __________ 4/1/2008 1:47:18 AM
Culture: ________________ Neutral
Version: ________________ 2.0.0.0
Public Key Token: _______ b03f5f7f11d50a3a
CodeBase:

When I peek in via a DOS command line I see ...

C:\>dir \WINNT\assembly\GAC_MSIL\System.Deployment
\2.0.0.0__b03f5f7f11d50a3a
Volume in drive C is WD120
Volume Serial Number is CE41-D396

Directory of C:\WINNT\assembly\GAC_MSIL\System.Deployment
\2.0.0.0__b03f5f7f11d50a3a

04/01/2008 01:47a ____ <DIR> ________ .
04/01/2008 01:47a ____ <DIR> ________ ..
04/01/2008 01:47a _________________ 0 System.Deployment.dll
______________ 1 File(s) ___________ 0 bytes
______________ 2 Dir(s) 24,007,331,840 bytes free

When I run ngen from the command line I get ...

C:\>\WINNT\Microsoft.NET\Framework\v2.0.50727\ngen /?
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.1433

Can I get the System.Deployment.dll file from some CAB in my
installation media? I suspect not. I believe that the file came from
windows update.

I notice that when I do an internet search for "System.Deployment.dll"
that one or more different versions are available. I'm clueless about
which one to download and then how to "appropriately" put the new file
in place.

Should I uninstall and then reinstall office/VB/something-else ?

Should I install the Microsoft .NET Framework 3.0 or 3.5
Redistributable Package? Maybe that's a way around this sticky
situation.

I would appreciate any suggestions that the folks here might have.

Thank You!
 
THIS POST CONTAINS (almost exclusively) DETAILS THAT ARE SPECIFIC TO
WINDOWS 2000.

It turns out that the Windows 2000 file below is indeed a .NET v2
file. My main problem was figuring that out. One blog entry from a
well known .NET Microsoftian made me think that the file might be an
MS-SQL or MS Jet file, but that is not so.

\winnt\assembly\GAC_MSIL\system.deployment\2.0.0.0_b03f5f7f11d50a3a
\system.deployment.dll

In short, the solution was to uninstall .NET 2 SP1, install .NET 2,
install .NET 2 SP1.

The not short version of the solution follows ...

FIRST, uninstall "Microsoft .NET Framework 2.0 Service Pack 1" (that's
the way it is listed) by using add/remove programs in control panel.
"Because .NET 2.0 SP1 is a major upgrade which uninstalls previous
versions of .NET 2.0, toward the end of the installation it
[uninstalls] .NET 2.0 which is a maintenance installation." (see
bottom for link to this web page) This means that you don't, at this
point, have to uninstall .NET 2.0 . Don't be fooled by the fact that
all the files are still there in the file system. The registry will
have been cleaned of the important keys. You can check if you wish
and you will see (if all has gone well) that the key below is gone
from the registry.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy

If, for some reason, you never installed .NET 2.0 SP1 then instead
uninstall "Microsoft .NET Framework 2.0" via add/remove programs.

After the uninstall completes reboot your PC.

SECOND, install .NET Framework 2.0 ... you can get it from the URL
below. The file name is dotnetfx.exe and it is 23 MB.

http://www.microsoft.com/downloads/...cb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en

You could probably skip this step and go right to step 3. I didn't. If
you don't skip this step then reboot your PC at this point.

THIRD, install .NET Framework 2.0 Service Pack 1. The file is named
NetFx20SP1_x86.exe. It is 24 MB and can be gotten from the URL below.
Afterwards, I now realize that this is really .NET Framework 2.0 with
SP1 and that step 2 probably could have been skipped.

http://www.microsoft.com/downloads/...77-E02C-4AD3-AACF-A7633F706BA5&displaylang=en

Reboot your PC at this point.

I ran a windows update afterwards, but no updates were called for.

If you have any problems with uninstalling/installing .NET see the
URLs below. They provide some useful insights/suggestions/etc. for
dealing with problems that arise during .NET installs/uninstalls.

http://blogs.msdn.com/astebner/archive/2005/10/11/479928.aspx

http://blogs.msdn.com/astebner/archive/2008/03/07/8108332.aspx

http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx

http://blogs.msdn.com/heaths/archiv...work-2-0-service-pack-1-fails-to-install.aspx
 
Back
Top