Error Code 3437: 16/32 Bit Type Matches
Keywords: Error Code 3437 Addextender DLL load failed NWCALLS.DLL
Error 3437:ADDEXTENDER: EXTENDER DLL LOAD FAILED. MAKE SURE 16/32 BIT TYPE MATCHES.
This means WinBatch thinks you're running a module in your environment which doesn't match the environment.
The 16/32 mismatch error is merely a suggestion of what might be the problem. It is not a definitive report on the problem.
Basically when WinBatch asks Windows to load the DLL, Windows says "Sorry I can't do that". Then it is a matter of some detective work to try to find the reason it will not load. There is some difference on the target machines that prevent loading. Suspect damaged or missing windows components or an incorrectly configured machine.
Here are some things to check to fix this problem.
Check List:
- If you're running in a 16 bit environment make sure you're using 16 bit everything. The 16 bit WinBatch Compiler and the 16 bit extender: WWN3X16I.DLL.
- Is the extender DLL in the current directory with the EXE? Is its date and size the same as the extender in the WinBatch/System directory? Check this and make sure it hasn't become corrupted.
- If you are trying to load the 32 bit Novell Client extender DLL, this requires that you have the Novell Client32 for Netware installed.
The problem may be that you are using the Microsoft Client for Netware. In this case you cannot use our Novell Netware extender and must use the WIN32 network extender instead.
Where is NWCalls.dll? Do you have a current version of NWCalls.dll? NWCalls.dll is a Netware DLL used by the WIL Netware extenders. The WinBatch EXE needs to be able to access a current version of this DLL. On the network, it should reside somewhere on the path. Do a search over the entire drive. The copies you find should all be dated at least 2-24-94 and at least 146K in size. If it's older, or smaller, WinBatch won't work.
- Make sure the copy of the DLL you are trying to run is the correct one for your platform.
- With Windows 3.1 and Windows for WorkGroups use the WWN3X16i.dll, 16 bit Netware 3 extender or the WWN4X16i.dll, 16 bit Netware 4 extender.
- For Windows 95, with a Windows 3.1 Netware Client (not Windows NT), the extender is WWN3Z34I.DLL or WWN4Z34I.DLL.
- For Windows 95, and INTEL versions of Windows NT running Netware Client 32, use the WWN3X34I.DLL or WWN4X34I.DLL. This will only work if the Novell Netware Client 32 is being run. NOT the Microsoft Network Client 32.
Netware Client 32 can be downloaded from: http://support.novell.com/home/
- If the PC has 32S extenders loaded, WinBatch may be confused about what platform is really being run, because it might interpret the 32S to mean that you are on a 32 bit platform. These are drivers Microsoft released for Windows systems prior to Win95, to emulate 32 bit environments.
Related Question:
I'm getting the following error, after recompiling my WinBatch script with a newer version of the Compiler:WIL extender Load error Extender DLL is invalid. You may be trying to load a 16bit dll from a 32bit application, or a dll designed for Windows NT from Windows 95 (or visa versa). WIL Extender load error. Unable to initialize the extender dll. If you are loading WWN3X34I.DLL, make sure that WWN3X16I.DLL is available as well, and that NWCALLS.DLL is valid. 3437 Add Extender: Extender DLL load failed (make sure 16/32 bit type matches WIL) Addextender("C:\VTnet\modules\wwwsk34I.dll") Winbatch 32 96M WIL version: 2.3gbn
The user is running Windows 95.
The wwwsk34I.dll I packaged with the program is 84,480 bytes with no version number.
Answer:
- Where did the user put your files. The way your script is hard coded, the extender MUST be in:
C:\VTnet\modules\wwwsk34I.dllIf the user installed or moved the software someplace else...its gonna fail.
- Have the user search his system for ALL copies of wwwsk34I.dll and delete them.
- If the exe is a big exe just have him run it. If it is a small exe, provide him with a new copy of wwwsk34I.dll.
- Is he running Windows 95? If running NT, he might need PDH.DLL (from the extender kit).
- Can this user run an Internet browser? If TCP/IP networking is not installed on the machine, then I'm not sure what would happen.
I've never tried to use the wwwsk34I.dll extender on a machine that does not have some form of TCP/IP networking installed. You might check the user's machine to see if it has TCP/IP installed or not. If not, I don't think the WWWSK34I.DLL extender will do anything for you. You might try loading it AFTER it has been established that TCP/IP support is present.
OR maybe...wwwsk34I.dll needs the Win95/NT WINSOCK.DLL to operate properly. If somehow a rogue copy of WINSOCK is on the users system it might confuse the issue.
Question (continued):
The software is supposed to set up networking for him. It does this fine on other machines that have no networking installed yet. Why are we getting a 16/32 bit dll mismatch error???I started getting this error ONLY after I upgraded my Winbatch compiler to the latest one and recompiled some of my scripts. Suddenly, scripts that were working fine before were "breaking" with the 16/32 bit application error.
In order to try and get around this problem I copied the latest DLL's from the C:\Program Files\Winbatch\System directory on the local PC to the directory that the script was trying to run from.(a network directory).
This solved the problem!
The DLL's that I copied were:
WWN3X34I DLL (later version) WWN3Z16I DLL WWN3Z34I DLL WWW9534I DLLAnswer:
Ah... A couple of versions back, when the Win32 networking split off into W95 and WNT specific pieces, a few additional DLL's were required to let the Win32 net extender work. I think maybe the copying of the WWW9534I.DLL might have done the trick.
Question:
After compiling a script with the NT network extender wwwnt34I.dll, the script runs fine on NT4.0 but when excuting on NT3.51 receive Extender DLL is invalid 16/32 mismatch message, followed by the 3437 extender load failed message. I verified no old extenders left from previous versions, compiled both as standalone and small exes with distribution Dll's in exe directory. Nothing works....Answer:
We had a change in the wwwnt34I.dll to support RAS, and the way it was put in required the RAS dll's be present.As of version 99C, the new wwwnt34I.dll does not require the RAS DLLs to be present.
I would recommend downloading the latest compiler and using that version instead.
Question:
I'm getting the 3437 error: 16/32 mismatch, etc. etc. on the AddExtender line for the WSRCH34I.DLL line. Any idea why I'm getting that?Answer:
The WSRCH34I.DLL requires the WITZSRCH.DLL. The WITZSRCH.DLL is loaded when you click on the Searcher option in the Compiler. Make sure when you run your compiled EXE, that both DLLs get written out into the same directory as the EXE.If it doesn't get written out, it's possible that the WSRCH34I.DAT file isn't set up correctly. On the second line of the DAT file, both DLLs need to be listed on the same line for versions of Winbatch prior to WB98, separated by a comma, e.g.:
Searcher wsrch34I.dll,witzsrch.dllOn versions of WB98 and later, the format of DAT files has changed, so that DLLs should be listed on separate lines.
3437 Error on Windows NT/2000 using WWW9532I.DLL
Question:
We are in the process of upgrading our desktop OS from Windows95 to Windows 2000.We currently have WINBATCH utilities compiled in the 97D version. When we ran our utilities under Windows 2000, we get error messages on the Kernel32.dll function not found as well as that we are using wrong extenders (95 instead of NT).
Do we need to use Winbatch 99 and its compiler to run the legacy utilities we have or is there an extender in version 97D that will run the utilities under Windows 2000?
Answer:
You should be able to use your older Winbatch 97D, but you must "AddExtender" the WWWNT32I.DLL rather than the WWW9532I.DLL, for Windows 2000.To use the networking extenders on Windows 2000, you must use the WWWNT32I.DLL, rather than the WWW9532I.DLL.
If you try to use the WWW9532I.DLL on Windows2000, you'll get all sorts of errors, including the following:
The dynamic link library SVRAPI.DLL could not be found in the specified path....
WIL extender load error. Extender DLL could not be loaded. It requires one or more dependent DLL's, which are invalid or unavailable. If you are loading a network extender, make sure you have the appropriate network client software installed.
3437: Addextender: Extender DLL load failed (make sure 16/32-bit type matches).
Article ID: W12958Filename: 3437 Extender Load Failed. Make sure 16 32 bit matches.txt