TheSwamp
CAD Forums => CAD General => Topic started by: Andrey Bushman on October 03, 2012, 04:23:27 AM
-
Hello all,
I apologize for my bad English. My questions will be about Autodesk Exchange mechanism. Beforehand I studied official documentation (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7e53.htm).
Saving all plugins at the %ProgramFiles%\Autodesk\ApplicationPlugins, and %AppData%\Autodesk\ApplicationPlugins is good solution. The first path is for all local users, and the second path is for individual user. But there is no third directory, the common for all network users. It is important for team working, when all users must use common resources, like fonts, linetypes, templates, plugins, e.t.c. according Company Standard. The majority of AutoCAD users work at the team! Can I assign additional, common network directory, for location of the .bundle plugins? And in this case, I being an CAD administrator must to have the capability for disable of using %ProgramFiles%\Autodesk\ApplicationPlugins, and %AppData%\Autodesk\ApplicationPlugins: all users of my Company must use only common plugins from network. How can I manage it?
I installed some plug-ins from Autodesk Exchange for testing:
- OsnapPalette (trial) (http://apps.exchange.autodesk.com/ACD/2013/en/Detail/Index?id=appstore.exchange.autodesk.com%3aosnappalettetrial%3aen)
- Temporary Geometry (TG) Plugin (http://apps.exchange.autodesk.com/ACD/2013/en/Detail/Index?id=appstore.exchange.autodesk.com%3atemporarygeometrytgplugin%3aen)
- DistanceSolidToSolid (http://apps.exchange.autodesk.com/ACD/2013/en/Detail/Index?id=appstore.exchange.autodesk.com%3adistancesolidtosolid%3aen)
- SketchUp Import (http://apps.exchange.autodesk.com/ACD/2013/en/Detail/Index?id=appstore.exchange.autodesk.com%3asketchupimport%3aen)
- Fast File Diff Trial (http://apps.exchange.autodesk.com/ACD/2013/en/Detail/Index?id=appstore.exchange.autodesk.com%3afastfiledifftrial%3aen)
For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.
All other plugins did not require administrator rights and was installed at %AppData%\Autodesk\ApplicationPlugins too. At the installation process I didn't receive the question about target plugin directory location: at the %ProgramFiles% (installation for all local users), or at the %AppData% (installation for current user only).
Is the plugins will be installed at the %AppData% always, and must I move that into %ProgramFiles% manually if I need it?
Next question... For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7dfa.htm). Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:
- Loadreasons="True"
- LoadOnAutoCADStartup="False"
- LoadOnCommandInvocation="False"
- LoadOnAppearance = "False"
- LoadOnProxyDetection = "False"
I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?
Best Regards,
Andrey
-
The themes which I create, are similar to this picture, because don't live. But I live in a hope... :)
-
FWIW -
We do not use either ..\ApplicationPlugins\ folder, rather store all plug-ins on the network (one copy of each, not replicated out to user computers).
Some are demand loaded, some loaded at startup either by Acad.lsp, or registry.
Here's an article for the latter:
Automatic loading of .NET modules (http://through-the-interface.typepad.com/through_the_interface/2006/09/automatic_loadi.html)
** Note - Depending on your version, you may require a modification to Acad.Exe.Config to enable LoadFromRemoteSources, as shown in this article:
Loading blocked and network-hosted assemblies with .NET 4 (http://through-the-interface.typepad.com/through_the_interface/2011/07/loading-blocked-and-network-hosted-assemblies-with-net-4.html)
HTH
-
2 RenderMan
Thank you for the answer, but I know all this information. Autodesk Exchange is interesting for me now.
-
Autodesk Exchange is interesting for me now.
I understand your interested, but the documentation does not seem to support your requests... For example:
Can I assign additional, common network directory, for location of the .bundle plugins?
Install and Uninstall Plug-In Applications (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7e53.htm)
<snip>
The plug-in defined by each package is loaded into AutoCAD by placing it in one of the ApplicationPlugins folders on your local drive. There are two different ApplicationPlugins folders that you can use:
<drive>:\Program Files\Autodesk\ApplicationPlugins
(Windows XP) <drive>:\Documents and Settings\<user name>\Application Data\Autodesk\ApplicationPlugins
(Windows Vista or Windows 7) <drive>:\Users\<user name>\AppData\Roaming\Autodesk\ApplicationPlugins
When AutoCAD starts, both ApplicationPlugins folders are checked for plug-in applications. The packages found are automatically registered and loaded based on the metadata in the XML file of each package.
all users of my Company must use only common plugins from network. How can I manage it?
At the risk of tempting fate... Presuming that the documentation is accurate, the only means to load assemblies from the network is made clear in this post (http://www.theswamp.org/index.php?topic=42916.msg481347#msg481347).
For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.
All other plugins did not require administrator rights and was installed at %AppData%\Autodesk\ApplicationPlugins too. At the installation process I didn't receive the question about target plugin directory location: at the %ProgramFiles% (installation for all local users), or at the %AppData% (installation for current user only).
Is the plugins will be installed at the %AppData% always, and must I move that into %ProgramFiles% manually if I need it?
I am unable to comment on this, as I am not familiar enough with, and do not use, the auto loader mechanism for our production deployments.
Next question... For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page. Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:
Loadreasons="True"
LoadOnAutoCADStartup="False"
LoadOnCommandInvocation="False"
LoadOnAppearance = "False"
LoadOnProxyDetection = "False"
I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?
APPAUTOLOAD (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f487555f687a1012bf24b54f2-7c96.htm) = 2, means "Load plug-in applications at startup"... Which suggests to me that there may be an improper setting in your XML.
ComponentEntry Element (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7dfa.htm)
<snip>
Loadreasons
By default, LoadOnAutoCADStartup, LoadOnAppearance and LoadOnProxy are enabled (set to True) if LoadReasons is not specified. If parameters need to be disabled (set to False), the LoadReasons element must be specified along with the parameters set to False.
*IF* I understand this correctly... LoadReasons must also be specified as False, no?
Again, these are the correct answers to your questions to the best of my knowledge, based upon the documentation. If I am mistaken, please feel free to correct me, as I do find this topic to be of great interest, and may consider using the auto loader mechanism in the future.
HTH
-
but the documentation does not seem to support your requests...
Yes, I have read it, but documentation of Autodesk isn't always exact - therefore I asked this question..
At the risk of tempting fate... Presuming that the documentation is accurate, the only means to load assemblies from the network is made clear in this post.
I use it now, but I want to understand well Autodesk Exchange possibilities to know everything, what it is capable. :)
I am unable to comment on this, as I am not familiar enough with, and do not use, the auto loader mechanism for our production deployments.
Me too. I learn it now.
APPAUTOLOAD = 2, means "Load plug-in applications at startup"... Which suggests to me that there may be an improper setting in your XML.
I don't want to disconnect ALL plug-ins, but OsnapPalette only. Therefore I assigned APPAUTOLOAD = 2 and have modified XML file of OsnapPalette.
*IF* I understand this correctly... LoadReasons must also be specified as False, no?
I understood this phrase so:
If at least one of parameters: LoadOnAutoCADStartup,
LoadOnCommandInvocation, LoadOnAppearance, or
LoadOnProxyDetection is equal the "True", then LoadReasons element must be equal the "False".
Maybe I incorrectly translated it into Russian.
-
2 RenderMan
In this (http://forums.autodesk.com/t5/AutoCAD-2013/Autodesk-Exchange/m-p/3645298#M6508) my topic, Augusto Goncalves has suggested workaround method:
I made a quick testing, it's not affecting the load, I even tried LoadDisabled = True, still nothing, but what did work was the version: I changed the SeriesMax to a lower values, which in fact make it not load.
It is a curve method, but it works now.
-
Should LoadOnAppreance or LoadOnCommand be true?
This is probably not a good solution but what I just came up with in 3 seconds.
Maybe for network plugin location since autocad checks every five seconds in those folders you could maybe create a plugin called 'plug-in manager' that in intialize methods copies bundles over, and fires off a small background app that gets the process of acad.exe and subscribes to exit event to delete all plugins except for manager one, sincce acad must be fully closed so you could erase them.
Feels very hacky though.
-
Should LoadOnAppreance or LoadOnCommand be true?
This is probably not a good solution but what I just came up with in 3 seconds.
Maybe for network plugin location since autocad checks every five seconds in those folders you could maybe create a plugin called 'plug-in manager' that in intialize methods copies bundles over, and fires off a small background app that gets the process of acad.exe and subscribes to exit event to delete all plugins except for manager one, sincce acad must be fully closed so you could erase them.
Feels very hacky though.
Perhaps it would be simpler to maintain a simple BAT file to run at login, to XCOPY all network *.Bundle(s) to local disk?
ECHO OFF
xcopy "<NetworkFilePath>\*.*" "%AppData%\Autodesk\ApplicationPlugins" /s /r /y
:END
-
For OsnapPalette installing the rights of the administrator were required. At the installation process the password was requested twice. I thought, such rights are required when plugin will installed into the %ProgramFiles%\Autodesk\ApplicationPlugins directory, but OsnapPalette was installed into %AppData%\Autodesk\ApplicationPlugins. It is present as record at a "Programs and Components" dialog box, and can be uninstalled like a usual program.
OsnapPalette installation creates two new system variables. This nedds to write in HKLM that's why administrator user account is required (and why OsnapPalette uses my own MSI installer rather than the Autodesk standard installer).
Next question... For example, I want to exclude autoload for the OsnapPalette plugin, but I don't need remove it.
I have read information about Loadreasons attribute at this page. Then I have changed of PackageContents.xml file settings: I set such attributes for the DLL and CUIX, for AutoCAD 2013:
Loadreasons="True"
LoadOnAutoCADStartup="False"
LoadOnCommandInvocation="False"
LoadOnAppearance = "False"
LoadOnProxyDetection = "False"
I set APPAUTOLOAD = 2, and restarted AutoCAD. But OsnapPalette plugin was loaded and working. Why this plugin was loaded? Where is my mistake?
LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...
Anyway, OsnapPalette needs to be loaded at startup so that the custom osnaps work even the palette is closed.
-
OsnapPalette installation creates two new system variables.
Interesting... Are you create own new system variables for AutoCAD? How you did it?
LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...
I have some additional questions about this page (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS73099cc142f4875533992bfb12ce8a5f915-7dfa.htm):
1. LoadOnProxy, or LoadOnProxyDetection?
2. Loadreasons, or LoadReasons? For XML register of characters is important!
3. If I set LoadReasons = false, LoadOnProxyDetection=true, and LoadOnAppearance=true, which value will get LoadOnAppearance, and LoadOnProxyDetection? What variable will have a bigger priority (LoadReasons, or itself)?
4. If I set LoadOnCommandInvocation = true, LoadOnProxyDetection=true, and LoadOnAppearance=true, which value will get LoadOnAppearance, and LoadOnProxyDetection? What variable will have a bigger priority (LoadOnCommandInvocation, or itself)?
LoadOnAutoCADStartup is the default reason, may be if you set all to false, the default is used...
Anyway, OsnapPalette needs to be loaded at startup so that the custom osnaps work even the palette is closed.
-
Custom system variables:
http://www.theswamp.org/index.php?topic=41798.0
-
Custom system variables:
http://www.theswamp.org/index.php?topic=41798.0
Thank you!
-
Custom system variables:
http://www.theswamp.org/index.php?topic=41798.0
Thank you!
Happy to help, Andrey. :beer: