【问题标题】:Office add-in with user rights具有用户权限的 Office 加载项
【发布时间】:2017-08-05 18:46:58
【问题描述】:

我正在使用 Visual Studio 2015 和 C# 为 Excel 开发 Office 加载项。 此加载项仅适用于管理员用户,并且运行良好。 我最近更改了此行为,普通用户(没有管理员权限)现在可以安装插件。

使用 InstallShield Limited Edition 我更改了属性:

  • ALLUSERS 从 '1' 到 ''
  • 需要从“是”到“否”的管理权限
  • 从“ProgramFilesFolder”到“AppDataFolder”的InstallDirectory

在 Excel 启动时,用户现在有一个对话框,要求安装加载项。 用户收到的对话框如下所示: Unknown Publisher

  • 为什么还没有安装插件?

尽管插件应该由我的 EXE 文件安装,但在此对话框中插件未签名,但 EXE 已签名。

我应该签署 VSTO 文件吗?我尝试使用 signTool 并且无法做到。这可能吗?

【问题讨论】:

  • 你有很多不常用的标签,我错过了一些更高级别的标签,比如“Excel”(我已经添加了)。包括他们会增加你的问题的曝光率。添加运行时环境或编程语言也可能有所帮助。

标签: excel installation vsto excel-addins installshield-le


【解决方案1】:

你应该试试这个:

  • 将您的 VSTO 放入受信任的文件夹中

  • 您是否尝试在 VS 中签署您的 VSTO? Solution Explorer -> Property -> Signing

我从一年前就遇到了这个问题,我明白有些路径是可信的,有些不可信。

例如 ProgramFilesFolder 总是受信任的,我不相信 AppDataFolder

在我的情况下,我搬到了 AllUser

另一个高级解决方案是考虑WIX Toolset,您将完全控制部署

【讨论】:

  • 您好,感谢您的回答。不幸的是,这对我不起作用。我仍然有同样的问题。我已经用 InstallShield 完成了我的所有项目,如果可以的话,我想继续使用它。另一种选择可能是找到一个适用于网络上没有管理员权限的用户的解决方案,并尝试了解与我的项目相比的差异。我还没有发现这个,我会尝试做更多的调查。如果您有其他想法或要分享的链接,我真的很感兴趣。
  • Office Option -> Trust Center -> Trusted Locations 中,您必须使用“用户级”路径,尝试将您的清单放在其中一个路径中。也许您应该避免创建子文件夹。
  • 我通过手动添加我的文件夹位置与清单文件(无子文件夹)进行了测试。不幸的是没有区别,弹出窗口仍然在这里
  • 另一个机会是在您的插件启动中添加Environment.CurrentDirectory,然后您继续按用户安装,然后运行应用程序并获取其位置。您可以直接在那里或树中的某处部署您的插件。
【解决方案2】:

我终于找到了自己问题的答案……

这是帮助我的链接:http://amolpandey.com/2012/10/07/lets-deploy-vsto-deployment-via-regedit/ 非常感谢 Amol Pandey 的教程。

如果该链接将来无法正常工作,则想法是更新注册表,尤其是我以前不需要的注册表项:

  • HKEY_CURRENT_USER\Software\Microsoft\VSTO\Security\Inclusion
  • HKEY_CURRENT_USER\Software\Microsoft\VSTO\SolutionMetadata

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-25
    • 2022-08-08
    • 2011-03-07
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    相关资源
    最近更新 更多