- Posts: 9
- Thank you received: 1
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.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Connections, Reconnections, COM/DCOM
- Seemingly random COMException
Seemingly random COMException
I'm not sure if the issue lies with the Windows installer, or if it's the MSI file itself that is being generated by my Visual Studio Installer Project. I even tried compiling for x64, but other issues cropped up with the installer project (related to the installer class I'm using for the Windows service generating a BadImageFormatException... it was another rabbit hole).
But, without too much trouble, I was able to get a REGEDIT process fired off during installation to correctly import the registry values for the license, so I'm not going to spend any more time investigating.
Thanks again for your time!
Please Log in or Create an account to join the conversation.
The fact that the Windows Installer has an issue with it is new to me, but other installers appear to work fine in this respect.
Please Log in or Create an account to join the conversation.
To fix my issue, I set the OPC Server to run as a service.
I'll try calling the REGEDIT process to import .reg files during the install. I think this might mean we'll have .reg files sitting out in the installation folder, but I guess that's unavoidable.
I'm not positive, but I think there might be an issue in QuickOPC's validation of licenses when the application using QuickOPC is 32-bit. Let me try to explain:
When the (32bit application) installer runs and inserts the registry keys, it's causing the QWORD values ("NotAfter", "NotBefore", and "ReleaseDateCovered") under WoW6432Node to be added to the registry as binary values rather than QWORD. This is because QWORD is a 64bit value.
Correct me if I'm wrong, but my understanding is that the registry entry WoW6432Node is the view of the registry for a 32bit application on a 64bit system. Therefore, it doesn't make sense to require that these three registry values be QWORDs for license validation.
Of course I don't know how the license validation is occurring, but maybe the 32bit application is reading the (32bit) registry values and passing them to a 64bit license validation application?
When I load the license through the License Manager to correct the registry, it sets those three values to be QWORDs under WoW6432Node. I'm confused as to why Windows even allows 64bit values under the 32bit view of the registry.
Please Log in or Create an account to join the conversation.
A possible workaround for the Windows Installer issue would be to export the license to a .REG file (or separate .REG files for 32- and 64-bit parts), and then have the Windows Installer call the REGEDIT to import it. And a reverse step for uninstallation.
Best regards
Please Log in or Create an account to join the conversation.
I don't know much about the OPC software on the server side, but I was able to find where you can have RSLinx start as a service. I changed it to start as a service, and it seems to work fine now. I don't have the desire or time to figure out which setting was tripping me up before, but it still confuses me.
Now I just have to figure out why the Microsoft Visual Studio installer project is messing up the registry.
After installing a new version of our application, we're getting the "invalid license" error after 30 minutes. I've done some comparisons, and it looks like Visual Studio is converting the QWORD values to BINARY for some reason - but only under Wow6432Node.
Please Log in or Create an account to join the conversation.
So I still believe that the recommended setting in better in principle and may even be a solution to the issue; but there is something that prevents it from working. Is the account you have used the same as the account under which the service is running? It Is the service pre-started ("Automatic" in the Service Manager) or is it DCOM that starts it ("Manual" in Service Manager)? If it is being started by DCOM, can you pre-start it instead? Or, can you log in as that user configured in DCOMCNFG, and test whether that user can actually start the service? (because it looks like that DCOM has problem starting it).
Regards
Please Log in or Create an account to join the conversation.
I tried a couple of different admin users, getting this exception each time.Exception Type: OpcLabs.EasyOpc.OperationModel.OpcException
Exception Message: An OPC operation failure with error code -2146959355 (0x80080005) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem.
Inner Exception Type: System.Runtime.InteropServices.COMException
Inner Exception Message: Server execution failed
Could I be missing some kind of configuration on the client side in code? I'm setting UseCustomSecurity to false, but could there be something else?
Please Log in or Create an account to join the conversation.
This applies to both the OPC server itself, and OPCEnum.
Please Log in or Create an account to join the conversation.
EasyDAClient.SharedParameters.ClientParameters.UseCustomSecurity = false;
before creating an instance of the EasyDAClient.
Please Log in or Create an account to join the conversation.
Identity is set to "The interactive user" (and under General, Authentication Level is "None").
One weird thing is that I'm not 100% positive of the server under DCOM Config. The customer doesn't know anything about their setup, and it'd require getting their vendor involved, which would not be easy (or cheap). I know it's Rockwell's "RSLinx Remote OPC Server", but the closest thing listed is "RSLinx", so I'm assuming that's it. I've done some searching online, and it sounds like it is.
OpcEnum is configured the same as RSLinx.
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Connections, Reconnections, COM/DCOM
- Seemingly random COMException