周行文 2026-02-13 07:35 采纳率: 98.6%
浏览 4
已采纳

Motor-CAD 2025安装后启动闪退或报“License not found”错误

Motor-CAD 2025安装后启动即闪退,或弹出“License not found”错误提示(无其他详细日志),是典型许可验证失败问题。常见原因包括:1)本地FlexNet License Manager服务未启动或异常终止;2)许可证文件(*.lic)路径配置错误(如MCAD_LICENSE_FILE环境变量指向无效路径或文件权限不足);3)许可证过期、绑定主机名/IP变更导致硬件锁不匹配;4)防病毒软件或Windows Defender误拦截Motor-CAD的license校验进程(如lmgrd、motorcad.exe);5)与旧版Motor-CAD(如2023/2024)共存时端口冲突(默认27000)或服务注册残留。值得注意的是,该错误在Windows 11 22H2+系统中高频出现,常因UAC权限提升失败导致license daemon无法以高完整性级别运行。建议优先检查Windows服务中“FlexNet Licensing Service”状态,并使用`lmutil lmstat -a -c `手动验证许可可用性。
  • 写回答

1条回答 默认 最新

  • 远方之巅 2026-02-13 07:35
    关注
    ```html

    一、现象定位:从闪退表象到许可验证失败的本质

    Motor-CAD 2025启动即闪退,或仅弹出无日志的“License not found”对话框,是典型的许可链路中断信号。该现象并非应用层崩溃(如.NET异常或DLL加载失败),而是FlexNet Licensing Service在初始化阶段无法完成lmgrd守护进程启动、许可证文件解析或硬件指纹校验任一环节所致。Windows事件查看器中通常无Application日志,但可在Windows Logs → System中筛选“FlexNet”或“lmgrd”关键词,捕获服务启动失败的底层错误(如错误1053、1067)。此阶段需排除UI线程阻塞假象——实为motorcad.exe在调用lm_new_socket()前已因许可不可达而主动退出。

    二、服务层诊断:FlexNet Licensing Service状态与UAC完整性级别

    在Windows 11 22H2+系统中,该服务默认以中完整性级别运行,但Motor-CAD 2025的lmgrd daemon要求高完整性级别(High IL)以绑定localhost:27000并读取加密许可证。UAC虚拟化或组策略限制(如LocalAccountTokenFilterPolicy=0)将导致服务启动后立即降权终止。验证命令:

    sc query "FlexNet Licensing Service"
    wmic service where "name='FlexNet Licensing Service'" get StartMode,State,PathName,DesktopInteract

    DesktopInteract=FALSEState=Stopped,需手动配置服务属性→登录→勾选“允许服务与桌面交互”,并以管理员身份重启服务。

    三、许可路径与权限深度核查

    检查项推荐值验证命令常见陷阱
    MCAD_LICENSE_FILE环境变量C:\Program Files\Motor-CAD\licenses\motorcad.licecho %MCAD_LICENSE_FILE%路径含空格未加引号;指向.lsf而非.lic;文件被记事本另存为UTF-8 BOM格式
    许可证文件权限SYSTEM + Administrators 全控制,Users 读取icacls "C:\Program Files\Motor-CAD\licenses\motorcad.lic"Windows Defender Controlled Folder Access误禁写入;OneDrive同步冲突导致文件只读

    四、许可有效性验证:lmutil实战诊断流

    绕过GUI直接验证许可栈是否就绪:

    1. 以管理员打开CMD,进入C:\Program Files\Motor-CAD\bin\win64\
    2. 执行:lmutil lmhostid -f → 获取当前主机ID(对比许可证中HOST字段)
    3. 执行:lmutil lmstat -a -c "C:\path\to\motorcad.lic" → 若返回Cannot connect to license server,则服务未监听;若返回No daemons running,则lmgrd未启动;若返回Invalid license file,则签名损坏或过期

    五、多版本共存与端口冲突治理

    graph TD A[Motor-CAD 2025 启动] --> B{检测端口27000} B -->|已被2024占用| C[启动失败] B -->|空闲| D[尝试启动lmgrd] D --> E{UAC提升成功?} E -->|否| F[服务降权→绑定失败] E -->|是| G[读取license→校验主机ID] G --> H{匹配?} H -->|否| I[License not found] H -->|是| J[返回有效许可→Motor-CAD加载]

    六、安全软件拦截专项排查

    Windows Defender/第三方AV常将lmgrd.exe(FlexNet核心守护进程)标记为“行为可疑”(因其持续监听端口、访问注册表HKLM\SOFTWARE\Flexera Software)。解决方案:

    • 临时禁用实时防护,测试Motor-CAD是否正常启动
    • 添加排除项:C:\Program Files\Motor-CAD\bin\win64\lmgrd.exemotorcad.exe、整个licenses\目录
    • 使用Process Monitor过滤lmgrd.exeACCESS DENIED事件,定位被拦截的注册表键或文件路径

    七、Windows 11 22H2+特有修复方案

    针对UAC完整性问题,必须执行以下三步组合操作:

    1. 以管理员运行:sc config "FlexNet Licensing Service" obj= "NT AUTHORITY\LocalService" password= ""
    2. 修改服务可交互性:sc privs "FlexNet Licensing Service" SeServiceLogonRight
    3. 强制高IL启动:powershell -Command "Start-Process lmgrd -ArgumentList '-c C:\path\to\motorcad.lic -l lmgrd.log' -Verb RunAs"

    完成后再次运行lmutil lmstat -a -c ...确认输出含Users of motorcad: (Total of 1 license issued; Total of 1 license in use)

    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 2月14日
  • 创建了问题 2月13日