You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11环境下PowerShell无法正确加载SAP B1 DiAPI问题咨询

解决Win11下PowerShell加载SAP DI-API后无法识别类方法的问题

排查方向1:PowerShell位数与DI-API版本不匹配

  • SAP Business One的DI-API分32位和64位版本,若你安装了两个版本,当前用64位PowerShell时,要确保加载对应64位的SDK文件。默认路径中,64位SDK通常在C:\Program Files\SAP\SAP Business One\SAPBusinessOneSDK.dll,32位在C:\Program Files (x86)\SAP\SAP Business One\SAPBusinessOneSDK.dll,确认加载路径对应位数。
  • 可切换到32位PowerShell(通过%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe启动),加载32位SDK测试,排查位数兼容问题。

排查方向2:Win11文件阻止策略

  • Win11默认会阻止外部复制/下载的文件(比如SDK安装包解压后的文件),右键点击SAPBusinessOneSDK.dll选择属性,查看底部是否有“解除锁定”按钮,点击后再尝试加载。
  • 也可通过PowerShell命令解除锁定:Unblock-File -Path "C:\Program Files\SAP\SAP Business One\SAPBusinessOneSDK.dll"

排查方向3:DI-API组件注册问题

  • 系统升级可能导致COM组件未正确注册,尝试重新注册对应组件:
    • 以管理员身份启动CMD,64位系统执行:regsvr32 "C:\Program Files\SAP\SAP Business One\SAPbouiCOM.dll"
    • 32位系统执行:regsvr32 "C:\Program Files (x86)\SAP\SAP Business One\SAPbouiCOM.dll"
  • 注册完成后重启PowerShell,再尝试加载SDK并调用类方法。

排查方向4:PowerShell安全设置

  • Win11默认PowerShell执行策略较严格,可尝试设置为RemoteSigned允许本地脚本运行:
    • 管理员身份启动PowerShell,执行:Set-ExecutionPolicy RemoteSigned,按提示确认。
  • 同时检查是否在杀毒软件隔离模式等受保护环境中运行PowerShell,暂时关闭杀毒软件测试。

排查方向5:DI-API版本冲突与兼容性

  • 安装两个DI-API版本可能引发冲突,卸载其中一个,保留与脚本兼容的版本,重新注册组件后测试。
  • 确认当前DI-API版本是否支持Win11,旧版本可能未针对Win11优化,建议升级到最新兼容版本。

内容的提问来源于stack exchange,提问作者Phil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 11:29:55