自动加载简介

程序完成后,如何让使用者方便的使用是个问题,不能让用户每次都输入netload命令来加载dll文件,之后再输入相应的命令……要达到与内建功能一致的使用效果,就必须同构程序部署来实现,在此过程中,需要考虑程序的自动加载、CUIX文件制作、安装程序制作等问题。

1.1 自动加载简介

从AutoCAD 2012版开始引入了插件自动加载器机制,利用该机制用户可以更加轻松地使用软件包格式部署自定义应用程序。

软件包是具有扩展名.bundle的文件夹,并具有用于定义各种组件的 XML 文件。通过部署自定义应用程序作为“套装”,更容易针对多个操作系统和产品版本,因为插件的参数定义在软件包的 XML 文件中。“套装”可以用作替换,用以在部署插件时创建复杂的安装程序脚本。

通过将插件放置在本地驱动器上的某个 ApplicationPlugins 或 ApplicationAddins 文件夹中来部署该插件。

  • 常规安装文件夹:

Windows 7 及更高版本:%PROGRAMFILES%\Autodesk\ApplicationPlugins

  • “所有户配置文件”文件夹:

Windows 7 及更高版本:%ALLUSERSPROFILE%\Autodesk\ApplicationPlugins

  • “用户配置文件”文件夹:

Windows 7 及更高版本:%APPDATA%\Autodesk\ApplicationPlugins

启动基于 AutoCAD 的产品时,会检查 ApplicationPlugins 或 ApplicationAddins 文件夹以查找插件。将基于每个软件包的 XML 文件中的元数据自动注册和加载找到的插件。

注: 当可以从任何 ApplicationPlugins 文件夹加载某个插件时,建议将所有插件置于 Windows 中的 %PROGRAMFILES%\Autodesk\ApplicationPlugins 文件夹下。此位置中的插件受信任且不会检查是否存在数字签名。所有其他 ApplicationPlugins 文件夹必须信任为应用程序首选项的一部分,并且应该进行数字签名。

1 信任插件软件包

从 Windows 上基于 AutoCAD 2016 的产品开始,建议对您的自定义程序文件进行数字签名。通过对自定义程序文件进行数字签名,即告知用户谁发布了自定义程序文件并且在进行数字签名后,文件是否有任何更改。有关对自定义程序文件进行数字签名的信息,请参见“关于对自定义程序文件进行数字签名”主题。

将检查每个加载的自定义程序文件是否存在数字签名。若发现自定义程序文件附着了数字签名,将向用户显示关于数字证书以及签署该文件的发布者的信息。用户可以选择继续加载文件,或者信任由正在加载文件的发布者发布的所有文件。如果不存在数字签名或数字签名无效,将通知用户加载和执行程序文件可能不安全。

2 安装插件软件包

可以使用安装程序(例如 MSI)部署软件包,或手动将文件和文件夹结构复制到 ApplicationPlugins 或 ApplicationAddins 文件夹。

3 加载插件软件包

默认情况下,插件会自动与基于 AutoCAD 的产品一起注册,并在当前任务中安装新插件时自动注册。插件的加载方式由 APPAUTOLOAD 系统变量控制。当 APPAUTOLOAD 设定为 0(零)时,不会加载任何插件,除非使用 APPAUTOLOADER 命令。

注: 从基于 AutoCAD 2014 的产品开始,当 SECURELOAD 系统变量设定为 1 或 2 时,自定义应用程序必须在安全模式下工作。在安全模式下进行操作时,程序限制为从受信任的位置加载和执行包含代码的文件;受信任的位置由 TRUSTEDPATHS 系统变量指定。

4 卸载插件软件包

可以通过从 ApplicationPlugins 或 ApplicationAddins 文件夹删除带有 .bundle 扩展名的相应文件夹来卸载软件包。这可以通过为原始安装程序提供卸载选项或手动删除 .bundle 文件夹来完成。

时间: 2024-08-01 09:23:57

自动加载简介的相关文章

(转)关闭WordPress自动加载的Open Sans字体,总是连接googleapi.com,导致打开wordpress很慢

转自http://www.xuanfengge.com/turn-off-automatic-loading-wordpress-open-sans-fonts.html 在网上搜了一番,有四种方法. (1)安装别人针对这个问题开发好的屏蔽加载谷歌字体的插件 (2)修改过滤函数function.php (3)自己手动替换到加载谷歌字体的路径 (4)使用GoAgent 我使用了第一种方法来解决问题, 下载插件: 1. 插件一 名称:Remove Open Sans font Link from W

Android LRecyclerView 操作案例分享-实现下拉刷新、滑动到底部自动加载

一直想抽空写下这个开源项目,但是各种原因没有抽时间,今天还是趁着工作间隙写下了这篇博客,与大家分享. 简介 LRecyclerView是支持addHeaderView. addFooterView.下拉刷新.分页加载数据的RecyclerView. 它对 RecyclerView 控件进行了拓展,给RecyclerView增加HeaderView.FooterView,并且不需要对你的Adapter做任何修改. 主要功能 下拉刷新.滑动到底部自动加载下页数据: 可以方便添加Header和Foot

Yii2的深入学习--自动加载机制

Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个自动加载的支持. 在之前的文章,入口文件的介绍中,我们可以看到如下内容: // 引入 vendor 中的 autoload.php 文件,会基于 composer 的机制自动加载类 require(__DIR__ .

ThinkPHP 3.2.3 自动加载公共函数文件的方法

方法一.加载默认的公共函数文件 在 ThinkPHP 3.2.3 中,默认的公共函数文件位于公共模块 ./Application/Common 下,访问所有的模块之前都会首先加载公共模块下面的配置文件(Conf/config.php)和公共函数文件(Common/function.php),即默认的公共函数文件为 ./Application/Common/Common/function.php. 例如,在 ./Application/Common/Common 下新建 function.php,

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

PHP面向对象之类的自动加载

类的自动加载 含义: 当某行代码需要一个类的时候,php的内部机制可以做到"自动加载该类文件",以满足该行需要一个类的这种需求. 什么时候需要一个类? 1,new一个对象的时候: 2,使用一个类的静态方法的时候: 3,定义一个类(B)并以另一个类(A)作为父类的时候: 条件和要求 1, 当需要一个类的时候,就会自动调用某个函数(默认是__autoload),并传入所需要的类的名字 2, 一个类应该保存到一个独立的"类文件中":即其中只有该类的定义,没有别的代码: 3

__autoload() 类文件自动加载函数

这个魔术方法是用来自动加载程序所用到类文件的PHP源文件,这样就避免了我们一个一个自动去require或者include了,这个函数会在试图使用尚未被定义的类时自动调用.通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类,但是我最近看过一篇文章,上面说__autoload()的效率不是很高.以下是示例代码: 1 <?php 2 功能:在当前页使用类时自动加载该类的文件 3 参数$className 为类的名称 可自定义 4 5 */ 6 7 function __auto

20150112--抽象类+接口+重载+自动加载机制-02

重载 重载:overload,被重新加载.在面向对象里,重载指的当一个函数(方法),具有不同的返回值或者参数列表的时候,可以有不同的存在形式(允许同名函数存在:返回值或者参数列表不一样) class Person{ public string function eat(){//吃饭方法;return '吃饱了';} public string function eat(水果){//吃水果;return '好吃';} public string function eat(主食){//吃主食;ret

20150112--抽象类+接口+重载+自动加载机制-01

回顾 面向对象:自动加载(__autoload),类常量访问(范围解析操作符),静态(属性和方法:self) 设计模式:单例模式(三私一公),工厂模式 面向对象三大特性:封装,继承和多态(PHP不支持) PHP继承:extends(对象继承:属性和非私有方法) PHP继承 方法重写 子类拥有与父类同名的方法. 除了私有的属性和方法之外,系统一律都是去子类中查找属性和方法,但是如果对应的属性和方法是私有的,那么系统一定要去判断$this所代表的上下文(类环境),在哪个类就访问哪个类的私有属性和方法