Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

Deployment issues

More
26 May 2014 09:30 #1998 by support
Replied by support on topic Deployment issues
I apologize for late reply.

We will try to reproduce the issues once again, in line with what you are doing. Thank you for the details.

Please Log in or Create an account to join the conversation.

More
20 May 2014 10:53 #1983 by SW
Replied by SW on topic Deployment issues
Hi
This all happens on a test deployment pc where the end product is installed. This is a clean PC running in a VM
The deployment method used is as was directed in the previous version where we install the registry hive on the target pc running the service that utilises the “OPCLabs calls”.

On this target pc running the code as pasted before (#1969) produces the same result ie 1st call works OK but subsequent calls fail.

Workaround implemented:
On the dev pc set up values for
OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ApplicationCertificateStore
OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ApplicationUriString
OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ApplicationName
OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ProductUriString
OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ApplicationUriString
Then call OpcLabs.EasyOpc.UA.EasyUAClient.Install()
This creates the certificates in the specified location

For the deployed application/service set the OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.Engine.ApplicationCertificateStore to be the directory containing the running executable and copy the CertificateStore directory and contents in this location . This seems to then work as expected. NB if the certificate store location is set to somewhere else eg “c:\programdata\company\product\ CertificateStore” then the system fails as before ie 1st call works but subsequent calls fail.
Thanks

Please Log in or Create an account to join the conversation.

More
19 May 2014 20:51 #1981 by support
Replied by support on topic Deployment issues
I was not able to reproduce this so far, but I suspect it is due to different "environment" conditions.

Does this happen on the computer where you have installed QuickOPC using its installation program, or is it on a computer where you install the application yourself?

If not done by the installation program, have you followed the instructions in the Concepts document (the Application Deployment section?). Some prerequisites need to be installed, event before you call the static .Install method (its purpose is currently mainly to generate and install the client application certificate; if not called, it will try to do the same when an OPC operation is attempted but no certificate exists in the store).

Please Log in or Create an account to join the conversation.

More
19 May 2014 06:38 #1976 by SW
Replied by SW on topic Deployment issues
Quick OPC 5.30

Please Log in or Create an account to join the conversation.

More
18 May 2014 13:12 #1972 by support
Replied by support on topic Deployment issues
Which version and build are you using please?

Thank you

Please Log in or Create an account to join the conversation.

More
16 May 2014 15:26 - 18 May 2014 13:09 #1969 by SW
Deployment issues was created by SW
Seem to be getting inconsistent behaviour

If this code is called from a windows app (form) running with elevated privileges (admin account)
eg c# code
OpcLabs.EasyOpc.UA.EasyUAClient UAClient = new OpcLabs.EasyOpc.UA.EasyUAClient();
try
{
 string s2 = "";
 foreach (OpcLabs.EasyOpc.UA.UAApplicationElement s in UAClient.DiscoverServers("scadaserver"))
 {
     s2 += "\n" + s.DiscoveryUriString;
 }
 MessageBox.Show(s2);
}
catch (Exception exc)
{
 MessageBox.Show(exc.ToString());
}

Run this once and it seems to work... run it a second time and it throws exception CertificateGenerator not installed (even if it is in the local directory with the running exe)


So try to call the EasyUAClient.Install() on start up of application get exception
System.InvalidOperationException was unhandled
  HResult=-2146233079
  Message=Precondition failed: SdkCertificateValidationEventHandler == null
  Source=OpcLabs.EasyOpcUAInternal
  StackTrace:
       at System.Diagnostics.Contracts.__ContractsRuntime.Requires[TException](Boolean condition, String msg, String conditionTxt)
       at OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.SetupSdkApplicationConfiguration(ApplicationConfiguration sdkApplicationConfiguration)
       at OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.CreateSdkApplicationConfiguration(ApplicationInstance sdkApplicationInstance, ApplicationConfiguration& sdkApplicationConfiguration)
       at OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.CreateSdkApplicationInstance(ApplicationInstance& sdkApplicationInstance, ApplicationConfiguration& sdkApplicationConfiguration)
       at OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.MakeSdkApplicationInstance(ApplicationInstance& sdkApplicationInstance)
       at OpcLabs.EasyOpc.UA.Toolkit.UAClientEngine.InstallApplication()
       at OpcLabs.EasyOpc.UA.EasyUAClient.Install()

In order to deploy my client app/service: regarding certificates etc. please could you offer some guidance as to what I need to do
Thank You
Last edit: 18 May 2014 13:09 by support.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.201 seconds