We have installed the minimal set of files in the Bin32 folder under Windows based on the documentation. We are not using encrypted connections or FIPS-certified AES in the database. We are just using regular AES database encryption and are installing the required dbrsa17.dll as documented. When test installing on a totally clean Windows build (i.e. one without msvcr100.dll located anywhere on the system), all the Java based administration utilities fail to launch, complaining that this file is missing and then saying: Could not load the Java virtual machine library ...Bin32\jre180\bin\server\jvm.dll Windows error code 126 The specified module could not be found. Adding msvcr100.dll to the Bin32 folder solves the problem. However, the documentation talks about different files for x86 (mscvr90.dll) and x64 (msvcr100.dll). SQLA17 does not install mscvr90.dll anywhere that I can find and seems to install msvcr100.dll under x86 also. Is this correct and are the other files for encrypted connections or FIPS-certified AES encryption required even though we are not using this? |
Both 32-bit and 64-bit administration tools like Interactive SQL and SQL Central (the Java-based tools) now require msvcr100.dll, as now documented here. Jack, the 17.0.4.2100 Deployment Wizard's master.xml file (in the "Deployment" subdir) still mentions the msvcr90.dll, possibly related to the 32-bit FIPS add-on. So is there still a need to include that one here? (I'm just asking out of curiosity, I have not installed the FIPS add-on myself...)
(08 Sep '16, 03:36)
Volker Barth
The "90" DLL is required by OPENSSL components, ssleay32.dll and libeay32.dll. If you have Visual Studio, try this... dumpbin /dependents bin32\ssleay32.dll
(08 Sep '16, 10:25)
JBSchueler
Replies hidden
Thanks for the pointer! I do not have the OpenSSL components (neither 32-bit nor 64-bit, neither on 12.0.1, 16.0 nor 17.0.4 - should they be installed?) but the following listed "msvcr100.dll" as expected (among other libs):
(08 Sep '16, 10:55)
Volker Barth
The "eay" DLLs are part of the FIPS-certified encryption, documented here: http://dcx.sap.com/index.html#sqla170/en/html/815b96696ce21014bedce01d554ac4b4.htm Do you have dbfips17.dll and the license to use the FIPS-certified encryption technology?
(08 Sep '16, 11:08)
JBSchueler
Replies hidden
No, so that explains the missing DLLs (or why I do not really miss them:)...).
(08 Sep '16, 12:02)
Volker Barth
1
Re: I do not have the OpenSSL components I should also have clarified that you do have OpenSSL code (dbrsa*.dll), just not the FIPS-certified components.
(09 Sep '16, 09:28)
JBSchueler
|
If I'm not mistaken DBISQL.exe uses Java. Probably it is statically compiled Java application to the native code (at least "jps -m" finds the process DBISQL.exe).
What you can try is to download Visual C++ Redistributable libs from the URL: https://support.microsoft.com/en-us/kb/2977003 On my PC I have many of them (almost all are x64), simply because many applications were compiled with different versions of Visual C++.
msvcr100.dll is included in the Bin32 folder, but the documentation doesn't indicate it is needed for the Java based utilities (only for the encryption scenarios I mentioned in the question, which we aren't using), so I didn't include it in my custom package (trying to be minimal). If I include the file, it seems to fix the issue. Assuming this one file is all that is required, should it be different on an x86 install to one on an x64 install? The documentation indicates it should, but there is no sign of msvcr90.dll anywhere, just msvcr100.dll on both x64 and x86. I was really just hoping for confirmation from someone in the know, that msvcr100.dll does need to be included, it should be the same for x64 and x86 and there is nothing else required (or omitted from the documentation)? Also that the documentation will be corrected by SAP if this is the case? :-)
FWIW, have you tried to use the Deployment Wizard to generate your setups? - Even if you do not really want to use the built MSI file, you may use the created log file to check which files are included based on the options you choose, such as (here for a "Client install / only ODBC / 32-bit 16.0.0.2058" setup:
That might help as a somewhat "official" reference setup...
Aside: So even for a minimal ODBC client setup, the MSVC Runtime DLL seems to be included, at least on v16, and the x86 setup uses the msvc100.dll, too...
Just my 2 cents, as you'll see, I do not belong to those "in the know".
I have installed the (almost) latest EBFs for 12.0.1, 16 and 17, and with each version there is no msvcr90.dll, only the msvcr100.dll in both the bin32 and bin64 folders. I'm quite sure the docs are incorrect in that respect.