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

Advanced Installer VSTO插件Per Machine安装无法加载问题

VSTO Per-Machine 安装加载失败的配置错误排查

你当前的配置存在3个核心问题,是用Advanced Installer打包VSTO全局安装时的高频踩坑点:

  • 注册表路径没有随安装类型切换同步修改:Advanced Installer的VSTO打包向导默认生成的是Per User模式的注册表配置,根路径指向HKEY_CURRENT_USER,你手动把安装类型切到Per Machine时,工具不会自动把这些注册表条目迁移到HKEY_LOCAL_MACHINE对应路径下,这就是你安装后HKLM下找不到对应加载项条目的直接原因。你现在的配置只是改了安装范围开关,注册表项还停留在HKCU的配置逻辑里。
  • 没有处理32/64位注册表视图重定向:MS Project的VSTO加载项注册表路径和Office的位数强相关,和系统位数无关:
    • 64位版本Project、32位系统下的32位Project:加载项条目需要写到HKLM\Software\Microsoft\Office\MS Project\Addins\<你的加载项ProgID>
    • 64位系统下的32位版本Project:加载项条目需要写到HKLM\Software\Wow6432Node\Microsoft\Office\MS Project\Addins\<你的加载项ProgID>
      如果你没有在Advanced Installer里明确标记注册表项对应的写入视图,32位安装包会被系统自动重定向到Wow6432Node路径,64位Project读不到对应条目,就会判定加载项不存在。
  • 权限和路径配置不符合全局安装要求:
    1. HKLM下的加载项注册表项默认需要给所有本地用户分配读取权限,如果你没开权限继承,普通用户账号读不到注册表值,Office会直接屏蔽该加载项
    2. Manifest注册表值指向的.vsto文件必须放到Program Files/Program Files (x86)这类全局可读的目录,不能放在用户个人目录下,值末尾必须加|vstolocal后缀,否则VSTO运行时不会识别为本地安装的加载项。
修复步骤
  1. 删除当前配置里所有HKCU节点下和该VSTO加载项相关的注册表条目
  2. 根据你要兼容的Project版本位数,在对应HKLM路径下新建加载项注册表项,必须包含4个标准值:
    • Description(字符串值):加载项功能描述
    • FriendlyName(字符串值):加载项在COM列表里的显示名称
    • LoadBehavior(DWORD值):设置为3,表示启动时自动加载
    • Manifest(字符串值):填写安装后.vsto文件的完整绝对路径,末尾追加|vstolocal,例:C:\Program Files\你的插件目录\插件名.vsto|vstolocal
  3. 选中你新建的HKLM加载项注册表节点,在权限设置里给本地Users组分配读取权限,确保所有登录用户都能访问该条目
  4. 在安装包属性里确认:如果要兼容32位Project,开启32/64位双视图注册表写入支持,不要硬编码单一路径;插件所有文件都安装到全局程序目录,不要使用%APPDATA%这类用户专属路径变量。
  5. 测试时使用标准用户账号验证,不要只用管理员账号测试——管理员账号能读取的注册表项和路径,普通用户不一定有权限访问。

快速验证方法:安装完成后直接打开注册表编辑器,手动定位到你配置的HKLM Addins路径,确认条目存在、Manifest路径和实际文件位置完全一致,再打开Project的COM加载项列表,就能看到对应插件正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:39:35