Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Where to place dbxmss.dll
#1
I am using a TSQLConnection component to access SQLServer 2014 with Delphi 10.2 and Intraweb 14.2.7. 

Its a 32 bits app. It works fine with IIS on my development server.

However, when installed on a production server (IIS 10.0. xxx and Windows Server 2019), i get the message "Impossible to load dbxmss.dll (ErrorCode 126)." 

Where should i place dbxmss.dll on the production server to make it work ? 

Thanks for your support.
Reply
#2
If I recall correctly (I may be wrong), IIS by default is 64 bit and expects 64 bit processes. To run 32 bit DLLs you need to set the app pool for it to be explicitly 32 bit. Dont change the default app pool, you'll kill the other DLLs on the server. Create a new one for your app and set it to 32 bit.

https://webconnection.west-wind.com/docs/_24d0uty4k.htm
Reply
#3
(07-13-2020, 08:24 PM)kudzu Wrote: If I recall correctly (I may be wrong), IIS by default is 64 bit and expects 64 bit processes. To run 32 bit DLLs you need to set the app pool for it to be explicitly 32 bit. Dont change the default app pool, you'll kill the other DLLs on the server. Create a new one for your app and set it to 32 bit.

https://webconnection.west-wind.com/docs/_24d0uty4k.htm

Kudzu, you are right and both development and production IIS are already setup the way you describe.

My point specifically refers to the location of the dbxmss.dll which is required to use dbx on the production server (i am using a TSQLConnection component in my app). On the development server, this dll has been installed with Delphi and works fine.

On the production server, no Delphi there, so i guess i have to place it somewhere. 
 
I have tried /Windows/SysWOW64, /Windows/System, /Windows/System32. But I still have the message "Impossible to load dbxmss.dll (ErrorCode 126) may be missing in the system path"
Reply
#4
Hi Oliver.
C:\Windows\SysWOW64\inetsrv
or
C:\Windows\System32\inetsrv
Reply
#5
(07-14-2020, 01:02 PM)Jose Nilton Pace Wrote: Hi Oliver.
C:\Windows\SysWOW64\inetsrv
or
C:\Windows\System32\inetsrv
Hi Jose,

Thank you for your reply. Unfortunately, it doesn't solve the problem.

If you have succeeded in setting a DBX Connexion to SQLServer under IIS on a remote server, i would be interested to know the detailed process you follow to make it work.
Reply
#6
(07-14-2020, 07:18 PM)oliver Wrote:
(07-14-2020, 01:02 PM)Jose Nilton Pace Wrote: Hi Oliver.
C:\Windows\SysWOW64\inetsrv
or
C:\Windows\System32\inetsrv
Hi Jose,

Thank you for your reply. Unfortunately, it doesn't solve the problem.

If you have succeeded in setting a DBX Connexion to SQLServer under IIS on a remote server, i would be interested to know the detailed process you follow to make it work.

Do you also register your dbxmss.dll after copying it to the directory?
Reply
#7
Hi Paul,

Looks like this dll doesnt require to be registered (i get the usual regsvr32 message in that case "...DllRegisterServer not found"). I have used both 64 and 32 versions of regsvr32 to make sure. 
At the moment, it's a dead end.
Reply
#8
(07-15-2020, 10:49 AM)oliver Wrote: Hi Paul,

Looks like this dll doesnt require to be registered (i get the usual regsvr32 message in that case "...DllRegisterServer not found"). I have used both 64 and 32 versions of regsvr32 to make sure. 
At the moment, it's a dead end.

It should work with out registering it.   We use dbx too.

Make sure and copy the correct dbxmss.dll to the following

C:\Windows\SysWOW64\inetsrv  -- this must be the 32 bit dll

C:\Windows\System32\inetsrv  -- this must be the 64 bit dll

Reply
#9
(07-15-2020, 06:47 PM)joelcc Wrote:
(07-15-2020, 10:49 AM)oliver Wrote: Hi Paul,

Looks like this dll doesnt require to be registered (i get the usual regsvr32 message in that case "...DllRegisterServer not found"). I have used both 64 and 32 versions of regsvr32 to make sure. 
At the moment, it's a dead end.

It should work with out registering it.   We use dbx too.

Make sure and copy the correct dbxmss.dll to the following

C:\Windows\SysWOW64\inetsrv  -- this must be the 32 bit dll

C:\Windows\System32\inetsrv  -- this must be the 64 bit dll


Have you tried putting it in the same directory as your own dll?
Reply
#10
Copying the required DLLs to the same folder where your application is should *always* work no matter what configuration you have on your server, unless there are conflicting DLLs in the system path.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)