跳转到内容

部署

本页适用于在工厂计算机上安装 AFDIM 的人员。AFDIM 使用一个 Inno Setup 安装程序 AFDIM_Setup_<version>.exe,可从下载页面获取。它会安装 AutoCAD® Autoloader bundle。无需手动向 AutoCAD 注册:不需要 NETLOAD 或 COM 注册。AutoCAD 每次启动时都会扫描 ApplicationPlugins 文件夹并加载 bundle。

范围插件 bundle卸载程序需要提升权限
当前用户(默认)%APPDATA%\Autodesk\ApplicationPlugins\AFDIM.bundle%APPDATA%\AFDIM\uninstall\unins000.exe否
所有用户(/ALLUSERS)%ProgramFiles%\Autodesk\ApplicationPlugins\AFDIM.bundle%ProgramFiles%\AFDIM\uninstall\unins000.exe是

卸载程序特意放在 bundle 文件夹外,因为 AutoCAD 会扫描 bundle 文件夹。为所有用户安装时,卸载程序位于 %ProgramFiles% 下,标准用户无法替换它。只使用表中对应安装方式的卸载程序。即使旧消息指向那里,也绝不要运行 %ProgramData% 中的卸载程序。如果所有用户安装的卸载程序缺失,请从下载页面运行官方安装程序并加上 /ALLUSERS,修复该安装后再卸载。安装程序会拒绝覆盖另一种安装方式的安装。请在不使用管理员权限的情况下运行按用户安装的卸载程序。

bundle 包含 PackageContents.xml(Autoloader 清单)、state.json(已安装版本、更新通道、安装范围)以及 Contents 文件夹,其中每个版本都有自己的子文件夹。使用 /NOAUTOUPDATE 安装时会添加名为 noautoupdate 的文件。安装程序还会添加开始菜单快捷方式 AFDIM › AFDIM Help。

AFDIM 运行时会写入以下内容。每个 Windows 帐户都有自己的副本,%ProgramData%\AFDIM\license 除外,该目录由所有帐户共用。

位置内容
%APPDATA%\AFDIM设置和已保存的制图标准
%LOCALAPPDATA%\AFDIM\logs支持日志
%LOCALAPPDATA%\AFDIM\cache更新下载文件
%LOCALAPPDATA%\AFDIM\license此 Windows 帐户的许可证
%ProgramData%\AFDIM\license此计算机所有帐户共用的许可证(Windows 允许写入时)
HKCU\Software\AFDIM安装 ID 和许可证检查时间记录
%TEMP%\AFDIM使用导出上次运行的几何数据…生成的几何数据导出文件(设置对话框的关于选项卡)

卸载程序始终保留许可证文件夹和注册表项。请参阅卸载。

如果 AFDIM 已按另一种范围安装,安装程序会拒绝运行。AutoCAD 会扫描两个 ApplicationPlugins 根目录,因此两个副本都会加载。AFDIM 命令会注册两次,而应用内更新程序只会升级其中一个副本。拒绝消息会指出必须先运行的确切 unins000.exe。静默安装不会显示消息:它会停止安装,并将原因写入 /LOG 文件。

所有工作站共用一个 bundle。PackageContents.xml 会将每个 AutoCAD 发行系列映射到对应版本的构建。

构建发行系列AutoCAD 年份状态
net472R19.0 至 R23.12013 至 2020已发布;2014 和 2016 至 2018 为实验性支持
net48R24.0 至 R24.32021、2022、2023、2024已发布
net8.0-windowsR25.0 至 R25.12025、2026已发布
net10.0-windowsR26.02027已发布,实验性支持

您之后安装的同一受支持系列中的 AutoCAD 无需重新安装即可加载 AFDIM。相同年份的 AutoCAD Mechanical 会加载相同构建。AutoCAD LT 没有 .NET API,因此不受支持。向导中的 Detected AutoCAD 页面仅供参考,不会为每个版本提供复选框。

此操作受支持。每个版本都会安装到自己的子文件夹,因此运行中的 AutoCAD 不会锁定安装程序要写入的文件。安装程序会显示提示并继续,无需先关闭 AutoCAD。重新启动 AutoCAD 后,运行中的 AutoCAD 才会加载 AFDIM。

终端窗口
AFDIM_Setup_<version>.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

安装向导和许可协议为英文。Windows 设置为越南地区时,AFDIM Help 页面会以越南语打开;其他情况使用英文。

插件有自己的界面语言。新安装默认使用英语;Windows 设置为越南地区(显示语言、区域格式或国家/地区)时使用越南语。每位用户都可以通过设置对话框标题栏中包含 56 种语言的下拉列表更改语言。点击 AFDIM 功能区选项卡上的 Settings 可打开设置对话框。所选语言会应用于对话框、通知窗口和命令行消息。尚未翻译的文字会以英文显示。所选语言保存在该用户的设置中。

开关作用
/VERYSILENT不显示用户界面。用于脚本批量部署。
/SILENT仅显示进度窗口,不显示向导页面。
/SUPPRESSMSGBOXES禁止显示消息框。请与 /VERYSILENT 一起使用。
/NORESTART不自动重启。安装程序不需要重启,但仍请传入此开关。
/LOG="C:\path\afdim.log"写入完整安装日志。提交安装问题支持请求时请附上此日志。
/ALLUSERS在 %ProgramFiles% 下为所有用户安装。需要提升权限。此范围会写入 state.json 并关闭应用内更新。
/CURRENTUSER为当前用户安装,这是默认值。
/NOAUTOUPDATE创建 noautoupdate 文件并关闭此安装的应用内更新。之后不带该开关再次运行安装程序即可重新启用更新。
/EXCLUDESERIES=<series>排除覆盖指定发行系列的构建,因此该系列的 AutoCAD 不会加载 AFDIM。多个系列用逗号分隔。
/NOICONS不创建开始菜单快捷方式。
/DIR="C:\path"覆盖安装目录。通常不应这样做,因为 AutoCAD 只会扫描标准 ApplicationPlugins 位置。

/EXCLUDESERIES 接受发行系列,而不是年份:2013 = R19.0,2014 = R19.1,2015 = R20.0,2016 = R20.1,2017 = R21.0,2018 = R22.0,2019 = R23.0,2020 = R23.1,2021 = R24.0,2022 = R24.1,2023 = R24.2,2024 = R24.3,2025 = R25.0,2026 = R25.1,2027 = R26.0。此开关会移除覆盖该系列的整个构建。排除 R23.0 会阻止 AFDIM 在 2013 至 2020 年的所有 AutoCAD 版本中加载;排除 R24.1 会阻止其在 2021 至 2024 年版本中加载;排除 R25.0 或 R25.1 会阻止其在 2025 和 2026 年版本中加载。安装程序会忽略它不认识的系列。

默认安装会将插件 DLL 放在 %APPDATA% 下。已登录用户可以写入此文件夹,而 AutoCAD 每次启动时都会将 DLL 加载到自己的进程中。任何以该用户身份运行的程序(例如恶意软件或已被入侵的加载项)都可以直接覆盖 DLL。之后,它的代码就会在 AutoCAD 中运行,无需提示或提升权限。所有按用户安装的 AutoCAD 插件都有此特性,因为无需管理员权限的安装必须允许用户写入该文件夹。

以下措施可以降低风险:

措施作用
使用 /ALLUSERS 安装DLL 位于 %ProgramFiles% 下,标准用户无法写入。替换 DLL 需要管理员权限。
将 SECURELOAD 保持为默认值 1AutoCAD 会拒绝加载来自可信路径之外的 .NET 程序集。它无法阻止覆盖可信路径中的文件,但会阻止从其他位置加载新 DLL。
应用程序控制(WDAC 或 AppLocker)可阻止被篡改的 DLL。自 0.1.6 起,安装程序和 AFDIM.dll 均已进行代码签名(发布者 TO VAN TIN)。
监视 bundle 文件夹中的意外写入除安装程序或应用内更新(关于选项卡上的 立即更新)外,不应有其他内容修改 Contents\<version>\。

如果工厂要求 DLL 位于只有管理员可以更改的位置,请使用 /ALLUSERS 安装。

多工位环境请使用 /ALLUSERS。%APPDATA% 会漫游。使用漫游配置文件或文件夹重定向时,按用户安装会在每次登录时通过网络复制插件。同一用户在两台计算机上登录时,也可能争用该文件夹。

终端窗口
AFDIM_Setup_<version>.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS

请在提升权限的环境中运行,例如 SCCM、Intune 或组策略启动脚本。这样,计算机上的每位用户都能使用 AFDIM,插件文件也不会放进漫游配置文件。每位用户在 %APPDATA%\AFDIM 中的设置仍会随配置文件漫游。

如果漫游配置文件必须按用户安装,请将 %APPDATA%\Autodesk\ApplicationPlugins 从文件夹重定向中排除。

为所有用户安装(也称为计算机范围安装)会关闭应用内更新,因为标准用户无法写入 %ProgramFiles%。AFDIM 找到较新版本时,设置对话框关于选项卡的 更新 组会显示以下文字,而不是 立即更新:

此安装无法自行更新:它是为所有用户安装的、安装时关闭了更新,或其文件夹为只读。

像首次安装一样推送新版本。直接在现有安装上运行较新的安装程序是受支持的升级方式。升级会保留每位用户的设置和每台计算机的许可证。每个版本的变更内容请参阅发行说明页面。

更新检查会向 update.afdim.com 上的已签名更新源发送一个 HTTPS 请求,不会阻塞 AutoCAD。AFDIM 会在以下情况下检查:

  • AutoCAD 启动时在后台检查:成功后每 24 小时最多一次,失败后至少间隔 2 小时
  • 如果 AFDIM 在当前 AutoCAD 会话中尚未检查,则在首次打开设置对话框时检查一次
  • 用户点击关于选项卡上的 立即检查 时检查

只有在关于选项卡上勾选自动检查更新且未设置环境变量 AFDIM_DISABLE_BACKGROUND_SERVICES=1 时,才会执行前两项检查。设置此变量还会关闭 AFDIM 日志文件和后台许可证检查(用于获取待接收的许可证文件或续订)。没有日志文件时,支持 ZIP 中不含日志。

每台计算机都需要自己的许可证。请在设置对话框关于选项卡的许可证组中激活。使用许可证密钥时,用户选择输入许可密钥…。此时计算机必须能够通过 HTTPS 访问 api.afdim.com。如果 AutoCAD 无法联网,用户应改为选择申请许可。显示的请求代码通过许可证页面发送。收到的许可证文件在同一组中通过加载许可…加载。请参阅许可证工作方式。

Windows 允许时,AFDIM 还会将已加载的许可证写入 %ProgramData%\AFDIM\license。同一计算机上的其他 Windows 帐户无需再次激活。

终端窗口
rem 按用户安装(默认)
"%APPDATA%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
rem 为所有用户安装;在提升权限的环境中运行
"%ProgramFiles%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

Inno Setup 也会将静默命令记录在注册表项 Software\Microsoft\Windows\CurrentVersion\Uninstall\{04AC9D3E-F942-4408-8BBC-73CB09043772}_is1 的 QuietUninstallString 值中。按用户安装时,该项位于 HKCU 下;为所有用户安装时位于 HKLM 下。

卸载程序默认保留用户设置,因此卸载后重新安装可以作为修复方式。如需同时删除数据,请添加 /PURGEDATA:

终端窗口
"%APPDATA%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /PURGEDATA

/PURGEDATA 会删除运行卸载程序的帐户中的 %APPDATA%\AFDIM、%LOCALAPPDATA%\AFDIM 和 %TEMP%\AFDIM。其他 Windows 帐户会保留自己的文件夹。%LOCALAPPDATA%\AFDIM 中的 license 文件夹始终保留。/PURGEDATA 不会删除 %ProgramData%\AFDIM\license 或注册表项 HKCU\Software\AFDIM。更新缓存始终会被移除。

如果卸载期间 AutoCAD 正在运行,卸载程序会保留 AutoCAD 正在占用的文件。交互式卸载会显示一个窗口说明这一点:请关闭所有 CAD 窗口,然后再次运行卸载程序。静默卸载会在日志中列出这些文件。系统不会要求重启。路径已改变的文件夹中的文件也会保留。请关闭所有 CAD 窗口,然后重试卸载或重新安装,或者在手动删除任何内容之前先查看日志中的路径。下次登录时不会删除任何内容。

  1. 启动 AutoCAD。功能区上会出现 AFDIM 选项卡,含 Dimension 和 Settings 两个按钮。这两个按钮名称在所有语言中均为英文。
  2. 运行 AFDIM。无需使用 NETLOAD。没有许可证的计算机上会打开欢迎使用 AFDIM或 AFDIM 尚未激活窗口。任一窗口都表示插件已加载。
  3. 检查 bundle 文件夹中是否存在 PackageContents.xml,且其中的 Components 块的 SeriesMin 和 SeriesMax 覆盖已安装的 AutoCAD。
  4. 检查 state.json 中的 activeVersion、channel 和 installScope 是否符合预期。

如果 AutoCAD 将 AFDIM 识别为未知命令,请重新启动一次 AutoCAD,因为它只在启动时扫描插件。如果问题仍然存在,请检查 SECURELOAD 和 TRUSTEDPATHS 策略,然后将 /LOG 文件和 AutoCAD 版本发送给支持。