Canada
Asked — Edited

Auto-Download Feature

JD,

First, thank you for your previous help with plugins. I have already made a few to help teach some of the introductory CTS courses.

Getting to the point, I believe I have discovered an error in the plugin manager service. The error occurs when the user opens the project file directly (not through the program executive), and they do not have the plugin for that project. The prompt occurs, asking if the user would like to download the plugin, but then throws an exception.

Likewise, if you first load up the ARC.exe and open the same file, the plugin will download. I have added a short video to help illustrate the error since I may lack the finesse to articulate it correctly.

I ran into a similar issue when working on one of the plugins. I was trying to reference external photos and using the following code to find the plugin dir:

System.IO.Path.GetDirectoryName(filename)

I noticed when loaded through project file directly it would reference the ARC dir (The folder where ARC is installed in), but when ARC was loaded first and then the project was selected, it would reference the plugin dir.

I am not sure if they are completely related, but from reading the error, is seems it is not able to find a particular file.

-Mike


ARC Pro

Upgrade to ARC Pro

With Synthiam ARC Pro, you're not just programming a robot; you're shaping the future of automation, one innovative idea at a time.

PRO
Synthiam
#2  

In the next release the path for the plugin installer is hard coded.

However, is your plugin changing the working directory? If so, don't do that. It will cause way more problems than just the plugin loading error. Use the method stated in my above.

If the current working directory of the ARC.exe (parent application) is changed by a plugin, it will not be able to find other dependencies.

#3  

Thanks for the reply,

Do you sleep? Anyways, no, I did not change the working directory and can reproduce the error with all plugins I have tested (mostly mine and yours).

Thanks for the tip on the constant, I thought I read the tutorial, but I guess I missed that! I also noticed that my reference EZ_B.dll was grossly out-dated.:P So much more to player with now. :D

PRO
Synthiam
#4  

Excellent - needed to check to ensure the working directory isn't changed. That's a scary command :)

The ezb.dll assembly version is different than the file version. The assembly version is from 2015 and will not change until the framework changes for the plugin.

The file version can continue to change and introduce new features / long as it doesn't change the assembly.

#5  

I grabbed my ezb.dll from the windows SDK download. I assume that was a mistake at this point because it had no constants in the EZ_Builder.Constants (which make sense since it wouldn't have them being an SDK) class as well as other things, but I haven't played around with it too much yet.

PRO
Synthiam
#6  

That's right. EZ_Builder.Constants comes from EZ_Builder.exe, not the SDK anyway.

To create a plugin, the SDK is not used. Plugins require the installation files of ARC. The SDK and ARC are very different things, even though there are dependencies.

  1. If you are making a standalone .exe (Executable) program, use the SDK

  2. If you are making a plugin for ARC, use the ARC skill plugin tutorial, which uses the ARC installation files

#7  

Yeah, I just wrongly assumed they were the same file. My bad. Thanks again, always a wealth of knowledge.

PRO
Synthiam
#8  

Anytime:) BTW, the latest ARC release has the plugin installer resolved

#9  

Awesome, just tested and it and it worked. Thanks again!