07-25-2017 02:50 PM
That sounds like some progress in at least narrowing down the issue.
It seems like this might be a good time to submit this as a service request to officially document this as a bug with DIAdem, or would it be better to continue to troubleshoot here with you and Brad?
07-26-2017 06:50 PM - edited 07-26-2017 07:08 PM
I have generated Corrective Action Request 657650 for R&D. I suspect there will not be a workaround. It could also be a VBscript limitation https://www.aspfree.com/c/a/windows-scripting/using-net-interops-in-vbscript/
07-27-2017 08:37 AM
Thanks for opening the request.
Interesting article. I did try a simple test where I registered the .net assembly as a COM object on my machine and then I was able to directly use the .NET classes and methods directly in DIAdem through the VBS. This is certainly a possible solution if it comes to it, but this script will be used by many in the company so I'm hoping I can avoid having them to all register the assembly as COM objects on their local machines. I've also read a couple articles on registration free activation of .NET assemblies, which might also be an object, but that looks a little messy and a lot more work.
Excited to see what R&D comes up with. Any idea on how long these usually take to resolve?
07-30-2017 01:27 PM
A typical case of unintended behavior may be fixed in the next release (SP1 or next year). My speculation however, is that few DIAdem users are scripting calls to VIs which are making .NET calls. R&D may decide the required time and risk of investigation and code changes may not outweigh the benefits. You can create a service request to check in on the status of a CAR.
07-31-2017 05:41 PM
Thanks for the response, not what I was hoping to hear but good to know.
Seeing as there won't be a solution in the near term, it looks like I'll have to move to plan B which is to register the .NET assembly as a COM object. I'm definitely venturing into unknown territory here but I've been reading up a bit on registration-free activation of .NET assemblies and this might be a way to avoid having people register the .dll on their local machines.
Registration-Free Activation of .NET-Based Components: A Walkthrough
It seems like the key to doing this is creating an XML based manifest for both the .NET components (I think I can figure this out) and creating/editing the COM application manifest (in this case I believe this is DIAdem's manifest). I think this would be something like what is described under "To create an application manifest" here: Application Manifest. I'm not really familiar with how to do this so I'm wondering if there exists a DIAdem XML manifest that I can edit? If not, is anyone familiar with creating one for DIAdem or have any recommendations on how to go about this?