我编写了一个带有一些基本功能的 Outlook 插件来访问 Web 服务并在其上执行方法。一切都像魅力一样,除了我似乎无法摆脱用户需要管理员权限才能安装此加载项的事实。谷歌似乎并没有真正为我提供解决方案或答案。
是否可以编写用户无需管理员权限即可安装的 Outlook 插件(VSTO )?
提前非常感谢!
我编写了一个带有一些基本功能的 Outlook 插件来访问 Web 服务并在其上执行方法。一切都像魅力一样,除了我似乎无法摆脱用户需要管理员权限才能安装此加载项的事实。谷歌似乎并没有真正为我提供解决方案或答案。
是否可以编写用户无需管理员权限即可安装的 Outlook 插件(VSTO )?
提前非常感谢!
这取决于您是要按用户安装还是按机器安装。
主要区别在于注册表项的保存位置,在 HKLU 下或 HKLM 下:
另一个主要区别是 Per-User 默认设置为安装在 Users 文件夹中,而 Per-Machine 默认设置为 Program Files。
正如@Aron 提到的某些先决条件可能需要管理员权限才能安装。如果您知道客户端安装了正确的 .Net 版本,则可能。否则,您可能需要在没有 .Net 的情况下运行 VSTO 插件。注意:Microsoft Info 路径完全用 .Net 编写,因此如果用户安装了完整的 office 版本,则应该已经安装了 .Net 2.0(可能是更新版本,具体取决于版本)。
避免 UAC 提示的最简单方法是运行 MSI 而不是 setup.exe。因为 setup.exe 负责下载/安装组件(如 dotnet)。运行 MSI 不会要求管理员。
还要注意 MSI 命令行用法以查看所有开关(例如 /quiet):
开始 > 运行 > CMD > Enter
c:\Apps\App1\Release\app.MSI /?
我知道这真的很老了,但是这个过程仍然没有太多帮助。
如果您的唯一目标是与某人共享您的项目而不是专门“安装”,则一种可能的解决方案。我确信这种方法存在一些问题,但它真的很简单,到目前为止它适用于我的团队的简单项目。此外,我的团队不允许在他们的开发机器上访问 Internet,这使标准发布过程变得复杂。
发布项目。(这是针对 VS2017 你的可能不同)
接下来我们需要将其直接添加到某人的办公程序中。你可以直接添加
现在应该添加您的 vsto 加载项。
答案是肯定的和否定的。就其本身而言,可以通过 ClickOnce 安装没有管理员权限的 VSTO 插件。
但是,某些先决条件可能需要管理员权限才能安装(例如 dotnet)。
所以在一般情况下没有。但这也许是可能的。