LoadLibrary failed with error code 183, but it is OK across remote desktop

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
Dear experts,
We have an application using ODBC connection (Oracle Instant Client 11g). It is working in my developer machine, directly and across remote desktop. It is working in our test machine (a virtual machine, accessed by remote desktop). It is working in our test places, accross remote desktop, admin user or regular user. But if our tester uses the test machine (XP, SP3) directly, it is not working. For regular or admin users, also. Cant load the dll ("specified driver could not be loaded due to system error 1114").
Visiting the application by process monitor (same machine, same user (regular or admin - all the same), directly and remote), the problem is loading ODBC driver dll. The app ask from registry the path of driver dll, loads it, and try to load the dependencies.
I mark with asterisk (*) the same elements in two cases and with exclamation mark (!) the differences:
If the application is ok, across remote desktop:
  1. (*) load the driver (Load Image, E:Imreinstantclient_11_2sqora32.dll)
  2. (!) call may times IRP_MJ_READ - I dont know this operation
  3. (*) find and load first dependent dll (oci.dll)
  4. (*) find second dependent dll (OraOCIEI11.dll)
  5. (!) load it
  6. (!) and continues the other dependencies
  7. (!) and returns ok
If the tester uses the computer directly:
  1. (*) Load Image driver dll, but
  2. (!) IRP_MJ_READs are missing
  3. (*) find and load first dependent dll
  4. (*) find second dependent dll
  5. (!) and did not try to load id. Not failed, didnt try it.
  6. (!) once more 3 and 4 step
  7. (!) and returns with error
I did a test: load the driver dll with LoadLibrary. The result is OK across remote desktop and directly 183 - ERROR_ALREADY_EXISTS.
It: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/833dd974-5c96-4380-92df-84fd47ae140c, LoadLibraryEx(DLL, NULL, LOAD_IGNORE_CODE_AUTHZ_LEVEL) is not help, because I need the dependencies.
It: http://stackoverflow.com/questions/3977732/call-to-loadlibrary-from-atl-com-plug-in is not help, because the dll is found, and then loads it.
The test user is - of course - member of remote desktop group. I checked the security settings in the driver dll, its directory and dependencies, and remote desktop group did not have any special security setting, its members are seem a regular local user or everybody. Buth if we tests with admin user, the situation is the same: it is working across remote desktop and dont directly.
Imre

View the full article
 
Back
Top