此样例反映了插件软件包可能包含的内容以及如何在磁盘上组织其结构。
.bundle 不是文件名称,而是具有 BUNDLE 扩展名的文件夹名称。以下是包含作为主程序的 LSP 文件和 DWG 支持文件的插件的示例。以下插件示例名为 OfficeSymbols,其文件夹结构可能如下所示(文件夹均以粗体显示):
OfficeSymbols.bundle
- PackageContents.xml |
- Contents |
| - OfficeSymbolsUtilities.lsp |
| - Resources |
| - OfficeSymbols.dwg |
| - OfficeSymbols.ico |
| - OfficeSymbols.htm |
文件名 | 说明 |
---|---|
OfficeSymbols.bundle | 该文件夹包含插件的文件并具有 BUNDLE 扩展名。 |
PackageContents.xml | 包含有关插件的元数据的 XML 文件。 |
OfficeSymbolsUtilities.lsp | 可能定义插件行为的自定义应用程序文件的示例。应用程序文件可以是 AutoLISP、ObjectARX 或 .NET 部件文件。 |
OfficeSymbols.dwg | 包含由在 OfficeSymbolsUtilities.lsp 中定义的功能所使用的符号的 DWG 文件。 |
OfficeSymbols.ico | 由 Autodesk App Store 网站使用的图标。 |
OfficeSymbols.htm | 插件的帮助文档。可以重定向到可能在其中存储文档的本地驱动器或联机位置。 |
PackageContents.xml 的定义
<?xml version="1.0" encoding="utf-8" ?>
<ApplicationPackage SchemaVersion="1.0" AppVersion="1.0"
ProductCode="[Add Unique Plug-in GUID Here]"
Name="Office Symbols"
Icon="./Contents/Resources/OfficeSymbols.ico"
Helpfile="./Contents/Resources/OfficeSymbols.htm"
>
<CompanyDetails
Name="ABC Indoor CAD, Inc."
Email="support@abcindoorcad.com"
/>
<Components>
<ComponentEntry
ModuleName="./Contents/LISP/OfficeSymbolsUtilities.lsp"
/>
</Components>
</ApplicationPackage>
PackageContents.xml 格式参考
PackageContents.xml 文件包含有关应用程序软件包的信息,包括有关编写它的开发人员的信息。
包含在文件中的信息可以用于指定插件可以加载到哪些基于 AutoCAD 的产品和版本、其受支持的操作系统,以及应如何加载应用程序,例如在启动时加载还是在调用命令时加载。
以下元素用于定义和描述插件:
- ApplicationPackage
- CompanyDetails
- 组件
用于下载与本地展开的 PackageContents.xml
计划展开插件的方式确定哪些内容应位于 PackageContents.xml 文件中。当提供插件用于下载与本地展开时,需要提供详细信息。下表介绍了哪些元素和属性对于想要使用的展开是必需的、可选的、或建议的。
对于从 Autodesk App Store 网站下载 | 对于本地展开 | 支持的版本 | 附加注释 | |
---|---|---|---|---|
ApplicationPackage 元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
模式版本 | 必需 | 必需 | ||
应用程序版本 | 必需 | 必需 | ||
作者 | 必需 | 可选 | ||
名称 | 必需 | 建议 | ||
说明 | 必需 | 建议 | ||
图标 | 必需 | 建议 | ||
帮助文件 | 必需 | 建议 | ||
产品代码 | 必需 | 必需 | ||
UpgradeCode | 必需 | 可选 | ||
CompanyDetails 元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
名称 | 必需 | 可选 | ||
电话 | 可选 | 可选 | ||
URL | 可选 | 可选 | ||
电子邮件 | 必需 | 可选 | ||
RuntimeRequirements 元素 – 必需,如果存在“Components”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
操作系统 | 可选 | 可选 | ||
平台 | 可选 | 可选 | ||
SeriesMin | 可选 | 可选 | ||
SeriesMax | 可选 | 可选 | ||
SupportPath | 可选 | 可选 | ||
ToolPalettePath | 可选 | 可选 | ||
ComponentEntry 元素 – 必需,如果存在“Components”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
应用程序名称 | 必需 | 必需 | ||
应用程序说明 | 可选 | 可选 | ||
AppType | 可选 | 可选 | 需要将套装中的 ARX 文件加载到 AutoCAD for Mac 中。 | |
模块名称 | 必需 | 必需 | ||
每文档 | 可选 | 可选 | ||
LoadReasons | 可选 | 可选 | ||
RegistryEntry 元素 – 必需,如果存在“RegistryEntries”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
名称 | 可选 | 可选 | ||
值 | 可选 | 可选 | ||
标志 | 可选 | 可选 | ||
SystemVariable 元素 – 必需,如果存在“SystemVariables”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
名称 | 可选 | 可选 | ||
值 | 可选 | 可选 | ||
PrimaryType | 可选 | 可选 | ||
StorageType | 可选 | 可选 | ||
所有者 | 可选 | 可选 | ||
标志 | 可选 | 可选 | ||
EnvironmentVariable 元素 – 必需,如果存在“EnvironmentVariables”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
名称 | 可选 | 可选 | ||
值 | 可选 | 可选 | ||
类型 | 可选 | 可选 | ||
标志 | 可选 | 可选 | ||
命令元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
GroupName | 必需 | 可选 | ||
命令元素 – 必需,如果存在“命令”元素 | 基于 AutoCAD 2013 的产品及更高版本 | |||
全局 | 必需 | 必需 | ||
本地 | 必需 | 必需 | ||
帮助主题 | 可选 | 可选 | ||
StartupCommand | 可选 | 可选 |
关于安装和卸载插件应用程序
插件自动加载器机制使用户可以更加轻松地使用软件包格式部署自定义应用程序。
软件包格式是常用的文件夹结构,在其名称中具有扩展名 .bundle,并具有用于定义插件的各种组件的 XML 文件。通过部署自定义应用程序作为“套装”,更容易针对多个操作系统和产品版本,因为插件的参数定义在软件包的 XML 文件中。“套装”可以用作替换,用以在部署插件时创建复杂的安装程序脚本。
通过将插件放置在本地驱动器上的某个 ApplicationPlugins 或 ApplicationAddins 文件夹中来部署该插件。
- 常规安装文件夹
- Windows 7 及更高版本:%PROGRAMFILES%\Autodesk\ApplicationPlugins
- Mac OS:/Applications/Autodesk/ApplicationAddins
- “所有户配置文件”文件夹
- Windows 7 及更高版本:%ALLUSERSPROFILE%\Autodesk\ApplicationPlugins
- Mac OS:N/A
- “用户配置文件”文件夹
- Windows 7 及更高版本:%APPDATA%\Autodesk\ApplicationPlugins
- Mac OS:~/Library/Application Support/Autodesk/ApplicationAddins
启动基于 AutoCAD 的产品时,会检查 ApplicationPlugins 或 ApplicationAddins 文件夹以查找插件。将基于每个软件包的 XML 文件中的元数据自动注册和加载找到的插件。
注: 当可以从任何 ApplicationPlugins 文件夹加载某个插件时,建议将所有插件置于 Windows 中的 %PROGRAMFILES%\Autodesk\ApplicationPlugins 文件夹下。此位置中的插件受信任且不会检查是否存在数字签名。所有其他 ApplicationPlugins 文件夹必须信任为应用程序首选项的一部分,并且应该进行数字签名。
信任插件软件包
从 Windows 上基于 AutoCAD 2016 的产品开始,建议对您的自定义程序文件进行数字签名。通过对自定义程序文件进行数字签名,即告知用户谁发布了自定义程序文件并且在进行数字签名后,文件是否有任何更改。有关对自定义程序文件进行数字签名的信息,请参见“关于对自定义程序文件进行数字签名”主题。
将检查每个加载的自定义程序文件是否存在数字签名。若发现自定义程序文件附着了数字签名,将向用户显示关于数字证书以及签署该文件的发布者的信息。用户可以选择继续加载文件,或者信任由正在加载文件的发布者发布的所有文件。如果不存在数字签名或数字签名无效,将通知用户加载和执行程序文件可能不安全。
安装插件软件包
可以使用安装程序(例如 MSI)部署软件包,或手动将文件和文件夹结构复制到 ApplicationPlugins 或 ApplicationAddins 文件夹。对于 Autodesk App Store 下载软件包,其展开使用 Windows 上的 MSI 安装程序完成。
加载插件软件包
默认情况下,插件会自动与基于 AutoCAD 的产品一起注册,并在当前任务中安装新插件时自动注册。插件的加载方式由 APPAUTOLOAD 系统变量控制。当 APPAUTOLOAD 设定为 0(零)时,不会加载任何插件,除非使用 APPAUTOLOADER 命令。
注: 从基于 AutoCAD 2014 的产品开始,当 SECURELOAD 系统变量设定为 1 或 2 时,自定义应用程序必须在安全模式下工作。在安全模式下进行操作时,程序限制为从受信任的位置加载和执行包含代码的文件;受信任的位置由 TRUSTEDPATHS 系统变量指定。
卸载插件软件包
可以通过从 ApplicationPlugins 或 ApplicationAddins 文件夹删除带有 .bundle 扩展名的相应文件夹来卸载软件包。这可以通过为原始安装程序提供卸载选项或手动删除 .bundle 文件夹来完成。
注: 从 Autodesk App Store 网站下载的插件还可以通过重新下载插件来进行卸载。下载完成时,系统会提示您卸载插件。