> I tried to install a program but there was error telling
> something like: sethandlecontext was not found on kernel32.
I can't find any references to SetHandleContext in the SDK. However, a
dump on a Windows 98 kernel32 did yeld a SetHandleContext, export ord 0721.
It does not appear to be documented.
On NT, this function has gone and only 'SetHandleCount' and
'SetHandleInformation' survived.
> I found sites that suggest
> of deleting files like winsock.dll & wsock32.dll and few
> others, but when i try to delete them I get an error
> message that says can't delete, because windows is using
> this file.
I'm not sure you want to delete those, even if you could. Deleting the
file isn't much but WFP will probably replace them. Hopefully, otherwise you
might render your network dead. Winsock DLLs interface applications to the
network layer and deleting those is bound to be painful.
You could be looking at getting a Windows 98 Kernel32.dll and copying it
into the directory in which the application is running. It will probably go
bananas, but you could try.
> Is there anything I can do to delete, or replace
> these .dll files? I also found out that this whole
> kernel32.dll problem is because the program is designed for
> win98 or something, but some people seem to have solved the
> problem, but how they do it?
If it is, it might want a older version of WinSock, even though these are
sort backwards compatible. You could try to downgrade Winsock, if such a
downgrade is possible. I fail to see how this would help the missing export.
> but I have Finnish version of Win2000
The SetHandleContext is language independent as noone need to see exports
from a library. Only the format of the message is relative. You can safely
look over the net for "SetHandleContext missing"
Doing a search myself I found that:
"games and some network
applications written for Win98 will also return it if they came bundled with
an older version of Winsock.DLL.
The solution is usually to find an upgraded version of the program that is
written to run on Win2K as well as Win98, or to replace the offending .DLL,
making the function call with one that works with Win2K APIs"
It means you should replace the dll that calls the function, not the
winsock DLL. If the application came with its OWN winsock library and copied
it in its directory, it's using functions no longer available. If there
isn't an upgrade form the manufacturer. try to remove the application DLLs,
forcing it to use the system's WinSock API, whick is maintaining
compatibility.
To delete one of these just make sure the program or any of its parts
isn't running and delete them. If they still linger, try to use MS's
InUse.exe to delete them or get a tool like MoveEx.
--
Andrei "Ndi" Dobrin
Brainbench MVP
www.Brainbench.com