windows server 2012 r2 - Can create Scripting.FileSystemObject 64-bit but not 32-bit -
my client has windows 2012 r2 64-bit running in virtual machine. gave client 32-bit program compiled vb6, failing on line:
set run.filesys = createobject("scripting.filesystemobject")
where run.filesys has type variant. program has run on many, many systems on years, in case fails
run-time error '429': activex component can't create object
when client runs
regsvr32 scrrun.dll
in syswow64 folder, says registered successfully. instructed run following:
reg query "hkey_classes_root\scripting.filesystemobject\clsid" reg query "hkey_current_user\software\microsoft\windows script host\settings\enabled" reg query "hkey_local_machine\software\microsoft\windows script host\settings\enabled"
it says clsid value {0d43fe01-f093-11cf-8940-00a0c9054228}, , "enabled" keys (which used disable script host) not present.
examining file scrrun.dll in syswow64 folder, version number 5.8.9600.17415.
i have access instance of windows 2012 r2, , program runs without error on computer. compared output of dependency walker on computer versus clients computer. on both computers, dependency walker output looks same until point in sequence. here last part of output computer works:
loaded "sxs.dll" @ address 0x681a0000 thread 1. loaded "dwmapi.dll" @ address 0x73e30000 thread 1. loaded "clbcatq.dll" @ address 0x755d0000 thread 1. loaded "scrrun.dll" @ address 0x67bb0000 thread 1. loaded "version.dll" @ address 0x74910000 thread 1.
here same section client's computer has failure:
loaded "sxs.dll" @ address 0x72b70000 thread 1. loaded "dwmapi.dll" @ address 0x724f0000 thread 1. loaded "clbcatq.dll" @ address 0x74de0000 thread 1. loaded "cryptsp.dll" @ address 0x747e0000 thread 1. loaded "rsaenh.dll" @ address 0x74710000 thread 1. loaded "bcrypt.dll" @ address 0x747c0000 thread 1. thread 2 started in "ntdll.dll" @ address 0x77324a00. thread 3 started in "ntdll.dll" @ address 0x77324a00. thread 4 started in "combase.dll" @ address 0x74c8d7e0. first chance exception 0xc000008f (float inexact result) occurred in "kernelbase.dll" @ address 0x75bc4598 thread 1. first chance exception 0xc000008f (float inexact result) occurred in "kernelbase.dll" @ address 0x75bc4598 thread 1. thread 2 exited code 0 (0x0). thread 3 exited code 0 (0x0). thread 1 exited code 0 (0x0). exited "vb6scriptingtest.exe" (process 0x94) code 0 (0x0) thread 4.
so whereas program should loading scrrun.dll, loads cryptsp.dll , others. client says drive encryption not turned on. not-really-educated guess result of virus protection inserting process. client has macafee virus scan enterprise 8.8 running, , not have authority turn off.
the client has done test makes me doubt hypothesis virus scanner. created own vbscript, vb6 program, , vb.net programs create scripting.filesystemobject. results are:
- vbscript: success (i suppose must 64-bit?)
- vb6 (32-bit): failure
- vb.net, 32-bit: failure
- vb.net, 64-bit: success
so appears nothing blocking 64-bit version of scrrun.dll, 32-bit version doesn't work. i'd tell client reinstall windows scripting host, don't know how can done or if possible. know how can resolve this?
i had similar problem (i think). had vb6 program ran fine on windows 7 32-bit. when moved 64 bit (on both windows 7 , windows 8) program fail. using 32 bit dll printed. after searching found microsoft aware of problem , stated not fixed. 32 bit dlls seem work until access kinds of hardware.
Comments
Post a Comment