Some of those posting allege that SP2 is causing that breakage
(which is CLEARLY INCORRECT).
And, some postings reference a Microsoft knowledge-base
article which DOES try to explain how to fix the symptom of
broken 16-bit apps at:
http://support.microsoft.com/default.aspx?scid=kb;en-us;324767
I do have ONE system which recently had its 16-bit-app subsystem
get broken. However, it was NOT caused by SP2, so I agree with
Microsoft statements that also say that. (My 16-bit apps broke
4 or 5 days AFTER I installed SP2.)
However, I do have an issue with the MS knowledge-base solution, since
it seems to MASK the root cause, thought it DOES 'fix' the symptoms.
I debugged the problem of broken 16-bit apps on my system. What
I found was that culprit was the freeware antivirus software called
AVAST that inadvertently caused the damage. (AVAST worked just fine.)
What AVAST's brain-dead installation script seems to do is to
APPEND a line to the Win-XP system-file ...\system32\CONFIG.NT
which reads:
device=C:\PROGRA~1\ALWILS~1\Avast4\aswmonds.sys
When I COMMENT OUT this new line, then my 16-bit apps start
working again immediately. (No reboot is even needed.)
[A very interesting aside is that Avast's oversight and sloppiness ALSO
has the effect that their COMPETITOR's free A/V software, called
AVG, can then NOT be installed at all, because the AVG installer
just happens to use old-16-bit stuff in the installer. But, for now,
I'll assume that this is a mere accident. I'm giving them a break,
because at least when I DE-INSTALL Avast, it does un-do
the damage it caused to the 16-bit subsystem.]
Hope someone (at Microsoft or elsewhere) will contact AVAST
and slap them upside the head and urge them to please FIX their
problem ASAP. (I'm not gonna do that...haven't I done enough?)
(Needless to say, I'm now a convert to AVG, and have my thumbs
pointed down when asked about Avast.)
Cheers...hope this helps...
Dave
Also since these are peer to peer newsgroups, Microsoft may never see
your suggestions since this is an incorrect forum to contact
Microsoft.
--
Jupiter Jones [MVP]
http://www3.telus.net/dandemar/
"David Cook" <som...@microsoft.com> wrote in message
news:8PCdnSzBqtm...@comcast.com...
software called 'Avast' (who appends a 'device=...' line to Win-XP's
...\system32\CONFIG.NT file [which is part of the 16-bit
subsystem, and which breaks it for others]).
But, it IS sort of induced by SP2. Here's what must be going on:
People (just like me) who see that SP2 is all about monitoring
firewalls, windows-update, and VIRUS software, start deciding
to add or upgrade their underlying ANTI-VIRUS software. So, they
(like I did) go out and try some of the new (free) ones. And, when those
'freeware' products break the 16-bit-subsystem, they
erroneously conclude that it was SP2 that did the damage.
Cute, huh? So, while it isn't REALLY SP2 that caused it, it
was a side-effect of SP2 that caused the trouble.
Cheers...
Dave
"David Cook" <som...@microsoft.com> wrote in message
news:8PCdnSzBqtm...@comcast.com...
That deed too is now done. I just cut/pasted most of what
I said here, into an email to the Avast support group via their
webpage.
[Hope they fix this SOON...it is clearly causing alot of frustration
and mis-placed blame.]
Cheers...
Dave
"Jupiter Jones [MVP]" <jones_...@hotnomail.com> wrote in message
news:ezFzS5Kq...@TK2MSFTNGP10.phx.gbl...
C:\temp>type xpsp2.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers]
"VDD"=hex(7):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,00,\
46,00,69,00,6c,00,65,00,73,00,5c,00,41,00,6c,00,77,00,69,00,6c,00,20,00,53,\
00,6f,00,66,00,74,00,77,00,61,00,72,00,65,00,5c,00,41,00,76,00,61,00,73,00,\
74,00,34,00,5c,00,61,00,73,00,77,00,4d,00,6f,00,6e,00,56,00,64,00,2e,00,64,\
00,6c,00,6c,00,00,00,00,00
---------
They sent me this 'xpsp2.reg' file to correct the problem.
(Note: I did not TEST whether this fixes it, as I had already DE-installed
their Avast anti-virus package, and instead installed the other freeware
anti-virus called 'AVG'. http://free.grisoft.com/freeweb.php/doc/2/
Thus, the IMPLICATION is that this problem only happens with
their kit on WinXP with SP2. Whether that is IN FACT true,
I will leave for Microsoft or others to determine.
Cheers and regards...
Dave
"David Cook" <som...@microsoft.com> wrote in message
news:WdKdnTz3yI3...@comcast.com...
> Here is Avast's SOLUTION to their PROBLEM:
>
> C:\temp>type xpsp2.reg
> Windows Registry Editor Version 5.00
>
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers]
> "VDD"=hex(7):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,00,\
> 46,00,69,00,6c,00,65,00,73,00,5c,00,41,00,6c,00,77,00,69,00,6c,00,20,00,53,\
> 00,6f,00,66,00,74,00,77,00,61,00,72,00,65,00,5c,00,41,00,76,00,61,00,73,00,\
> 74,00,34,00,5c,00,61,00,73,00,77,00,4d,00,6f,00,6e,00,56,00,64,00,2e,00,64,\
> 00,6c,00,6c,00,00,00,00,00
>
> ---------
>
> They sent me this 'xpsp2.reg' file to correct the problem.
> (Note: I did not TEST whether this fixes it, as I had already DE-installed
> their Avast anti-virus package, and instead installed the other freeware
> anti-virus called 'AVG'. http://free.grisoft.com/freeweb.php/doc/2/
Hi
The registry entry above will put the hard coded value
"C:\Program Files\Alwil Software\Avast4\aswMonVd.dll"
into the the REG_MULI_SZ value VDD under the key
HKLM\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers
Note that if you want to create the above registry file yourself, it
*must* be created as a Unicode file and not an ASCII file.
Also, the registry file will overwrite any existing value in the VDD
value (*not* good), and it will not care if you have another program
files path than "C:\Program Files".
See script below that is much safer to use than the registry file, it
will not overwrite any existing values, and it will use the correct
program files path in all cases. Put the script in a file named e.g.
Avast.vbs, and double click on it to run it.
So I will guess Avast's solution is that you need to delete the
"device=C:\PROGRA~1\ALWILS~1\Avast4\aswmonds.sys" line in CONFIG.NT
yourself, and then add the already discussed registry value to the
registry.
'--------------------8<----------------------
Const HKLM = &H80000002
strToTestOn = "\Avast4\aswMonVd.dll"
strToAddIfNecessary = CreateObject("WScript.Shell").ExpandEnvironmentStrings _
("%PROGRAMFILES%\Alwil Software\Avast4\aswMonVd.dll")
' Only continue if the file exist:
If Not CreateObject("Scripting.FileSystemObject").FileExists( _
strToAddIfNecessary) Then
MsgBox "File " & strToAddIfNecessary & " not found", _
vbCritical + vbSystemModal, "Avast SP2 fix"
WScript.Quit
End If
strKeyPath = "SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers"
strValueName = "VDD"
strComputer = "." ' "use "." for local computer
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\default:StdRegProv")
objReg.GetMultiStringValue HKLM, strKeyPath, strValueName, arrValues
If IsArray(arrValues) Then
' create string from array, easier to check for existence this way
strValues = "|" & Join(arrValues, "|") & "|"
Else
arrValues = Array()
strValues = ""
End If
If InStr(1, strValues, strToTestOn, vbTextCompare) = 0 Then
' entry is not in array, add it
intArrCount = UBound(arrValues) + 1
ReDim Preserve arrValues(intArrCount)
arrValues(intArrCount) = strToAddIfNecessary
objReg.SetMultiStringValue HKLM, strKeyPath, strValueName, arrValues
End If
MsgBox "Done!", vbInformation + vbSystemModal, "Avast SP2 fix"
'--------------------8<----------------------
--
torgeir, Microsoft MVP Scripting and WMI, Porsgrunn Norway
Administration scripting examples and an ONLINE version of
the 1328 page Scripting Guide:
http://www.microsoft.com/technet/scriptcenter/default.mspx
"David Cook" <som...@microsoft.com> wrote in message news:<8PCdnSzBqtm...@comcast.com>...
> I cannot find the program line you describe below. How can I locate
> it? Also, how do I know if AVAST is the problem or not? I do not see
> it on my system.
Hi
If you can't recall that you have installed AVAST (a anti-virus program),
I would think it is not installed on your computer.
The autoexec.nt problem could be caused a trojan or something similar,
e.g. TrojanDownloader.Win32.Dia.a, more about this here:
http://groups.google.com/groups?selm=5f6f139.0409140618.749324fe%40posting.google.com
You can put back the standard version of autoexec.nt/config.nt by
copying a backup copy held in %windir%\repair\ to %windir%\system32\
(%windir% is typically C:\Windows).