WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

64-bit

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Error 1394 AddExtender

 Keywords:  IntControl 92 Error 1394 AddExtender Extender Redirection SysNative System32 SysWow64

Question:

I am getting 1394 errors when I try to load extenders on a Win7 x64 machine. I have installed WB 2010A on this box.

The extender DLLs (eg.wwwnt34i.dll), are in C:\Windows\System32.

I have routinely ignored x64 posts, not expecting to run x64 any time soon. My bad!

I have read some of the tech db articles related to IntControl 92. Unless I am misunderstanding, it seems like IntControl 92 directs Windows to look for things in C:\Windows\SysWow64 that it might otherwise look for in C:\Windows\System32.

However, as I note, the WB DLLs are in fact in C:\Windows\System32.

Where have I gone amok?

Answer:

You have it backwards. IntControl 92 is used to turn off file redirection which means WinBatch uses files in 'System32' instead of the usual 'SysWow64' when IntControl 92 is in effect.

However, using IntControl 92 will not necessarily fix your problem in this case. This is because WIL extenders sometimes use additional system dll not yet loaded into the WinBatch process. So if IntControl 92 has turned off file redirection the system will attempt to load 64-bit dlls into the WinBatch process and, as we all know, you can't load a 64-bit dll into a 32-bit process.

The way around this problem is to specify the full path to the extender in the 'AddExtender' call except substituting 'sysnative' for 'system32' in that path. This will cause WinBatch to load the extender from 'system32' instead of 'SysWow64' without turning off file redirection. 'Sysnative' is a special directory name that the system understands to be a placeholder for 'System32' on Vista and newer systems.

However, a better solution is to place your extender dll some place other than in the 'System32' directory. MSFT strongly recommends limiting that directory and its subdirectories to the storage of system dlls, exes and drivers.


Article ID:   W17644
Filename:   Error 1394 AddExtender.txt
File Created: 2014:05:29:07:53:10
Last Updated: 2014:05:29:07:53:10