Hi,
I am using C++ OPC UA Server SDK (Basic) binary in one of our product. Now I would like to upgrade to 1.3.3 version. I have downloaded the evaluation version and installed in my machine.
I could see the dlls libeay32.dll, libxml2.dll, uastack.dll and their corresponding debug dlls are also been copied in Bin folder (C:\Program Files\UnifiedAutomation\UaSdkCppBundleEval\bin).
But in the previous version we do not have this dlls in Bin folder.
Is this expected behavior ?.
Please let me know.
Because of this behavior, when I make any UA Server using this version, we are forced to place these dlls in Release location.
Thanks in advance for your help.
Thanks
Antoni
The 1.3.3 version places additional dlls in Bin folder
Moderator: uasdkcpp
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: The 1.3.3 version places additional dlls in Bin folder
Hi Antoni,
that is correct the UA Stack and the third party libraries are shared DLLs and are located in the "bin" directory together with the executable. The idea is to be able to change/replace e.g the OpenSSL library to a newer version without replacing the complete server (your product). This gives YOU the possibility to react on e.g. security updates in OpenSSL individually.
In a very early version of the SDK (March 2010) this was not possible, but since 1.3.x we use the stack and the third party as shared DLL. When using the source code edition you would still have the possibility to "static" linking of these libraries, but we recommend go for shared DLL.
Best Regards
Support Team
that is correct the UA Stack and the third party libraries are shared DLLs and are located in the "bin" directory together with the executable. The idea is to be able to change/replace e.g the OpenSSL library to a newer version without replacing the complete server (your product). This gives YOU the possibility to react on e.g. security updates in OpenSSL individually.
In a very early version of the SDK (March 2010) this was not possible, but since 1.3.x we use the stack and the third party as shared DLL. When using the source code edition you would still have the possibility to "static" linking of these libraries, but we recommend go for shared DLL.
Best Regards
Support Team
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
Re: The 1.3.3 version places additional dlls in Bin folder
Hi,
Thanks for the clarification.
We appreciate it..
Thanks
Antoni
Thanks for the clarification.
We appreciate it..
Thanks
Antoni
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
Re: The 1.3.3 version places additional dlls in Bin folder
Hi,
How can I build Openssl?
I have downloaded from http://www.openssl.org (openssl-1.0.1m.tar.gz).
It will be great if you help me on this...
Thanks
Antoni
How can I build Openssl?
I have downloaded from http://www.openssl.org (openssl-1.0.1m.tar.gz).
It will be great if you help me on this...
Thanks
Antoni
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: The 1.3.3 version places additional dlls in Bin folder
Hi Antoni,
generally you should follow the build instructions provided by OpenSSL.org. Those instructions are very detailed.
As a quick reference for experienced users we have written some brief step-by-step instruction:
https://www.unified-automation.com/down ... ation.html
When replacing OpenSSL (libeay.dll) with new one, you must check first which one you have and replace with the newest one of the correct family (e.g. a 0.9.8.x should be replaced with a 0.9.8.y, however you should not replace a 0.9.8.x with a 1.0.2.y) as this may cause interface changes and hence incompatibilities.
Best Regards
Support Team
generally you should follow the build instructions provided by OpenSSL.org. Those instructions are very detailed.
As a quick reference for experienced users we have written some brief step-by-step instruction:
https://www.unified-automation.com/down ... ation.html
When replacing OpenSSL (libeay.dll) with new one, you must check first which one you have and replace with the newest one of the correct family (e.g. a 0.9.8.x should be replaced with a 0.9.8.y, however you should not replace a 0.9.8.x with a 1.0.2.y) as this may cause interface changes and hence incompatibilities.
Best Regards
Support Team
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
Re: The 1.3.3 version places additional dlls in Bin folder
Hi,
I use ActiveX which uses 1.4.2 version of uastack (C++) dll.
Steps to See the issue
-------------------------
1. Open VB6 (Standard EXE) IDE
2. Drag and Drop the ActiveX
3. Run the application (Form1 appears)
4. Close the application by clicking on the cross to close the form.
5. The application closes then the IDE closes / crashes (Actually Application should close but IDE should not close)
But this works fine with VS2010 and VS2012.
I am suspecting it may be because of uastack dlls which is shared from version 1.3.3 onwards.
Do you have any idea for the cause in VB6?
Thanks in advance for your help.
Thanks
Antoni
I use ActiveX which uses 1.4.2 version of uastack (C++) dll.
Steps to See the issue
-------------------------
1. Open VB6 (Standard EXE) IDE
2. Drag and Drop the ActiveX
3. Run the application (Form1 appears)
4. Close the application by clicking on the cross to close the form.
5. The application closes then the IDE closes / crashes (Actually Application should close but IDE should not close)
But this works fine with VS2010 and VS2012.
I am suspecting it may be because of uastack dlls which is shared from version 1.3.3 onwards.
Do you have any idea for the cause in VB6?
Thanks in advance for your help.
Thanks
Antoni
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: The 1.3.3 version places additional dlls in Bin folder
Hi Antoni,
You must check if your unloading code for the SDK is executed and what is the difference there between VB6 and your other environments. You can activate the client side trace (see CLIENT_CPP_SDK_ACTIVATE_TRACE define in client_cpp_sdk.cpp contained in the client sample code) and you can add trace outputs to your load/unload code to see differences.
Best Regards,
Unified Automation Support Team
You must check if your unloading code for the SDK is executed and what is the difference there between VB6 and your other environments. You can activate the client side trace (see CLIENT_CPP_SDK_ACTIVATE_TRACE define in client_cpp_sdk.cpp contained in the client sample code) and you can add trace outputs to your load/unload code to see differences.
Best Regards,
Unified Automation Support Team