2016 ProPlus MSI 版本 (MSO 16.0.4549.1000) 上的 Outlook 加载项为 displayDialogAsync 提供 "Permission Denied" 错误
Outlook Add-In on 2016 ProPlus MSI Version (MSO 16.0.4549.1000) gives "Permission Denied" error for displayDialogAsync
我正在开发一个使用 displayDialogAsync 进行身份验证的新 Outlook 加载项。我们有几个不同的客户端版本。它在 Mac 2016 的 Outlook 和 Windows 上的 Office 365 ProPlus Click-To-运行 版本 1808 上运行良好。但是在 windows 的 Office 2016 ProPlus MSI 版本 (MSO 16.0.4549.1000) 上,它给出了错误 "Permission Denied".
Dialog API 要求设置页面 https://docs.microsoft.com/en-us/office/dev/add-ins/reference/requirement-sets/dialog-api-requirement-sets 表示适用于 Windows 的 Office 2016 或更高版本
(一次性购买)使用 Build 16.0.4390.1000 或更高版本,它应该可以工作。我们的构建版本显然较晚,但我们仍然收到该错误。
我还证实这不是清单中的 AppDomains 造成的。我已将我尝试在对话框中打开的域添加到 AppDomains。
当 API 在 Outlook 桌面中不可用时,它会 return 出现 "Permission Denied" 错误,这是错误的错误消息。在这种情况下,它只是意味着 API 不可用。
由于您的 Outlook 版本高于 4390,这可能是因为 displayDialog API 还需要更新版本的 OSF 客户端 DLL。通过 Microsoft Update 应用 Office 更新时,所有 Office DLL 都应自动更新。在手动应用更新的情况下,某些 Office DLL 可能不包含在更新中。如果用户有意单独应用更新,此页面会列出 latest Office 2016 update files(查找 osfclient-x-none 更新,其中包含 displayDialog API).
在您的 add-in 中,您还可以做两件事来检测这种情况。首先,我们建议使用 Office.context.requirements.isSetSupported API 检查 Outlook 客户端是否支持 "Mailbox" 要求集 1.4(这是包含 displayDialog API 的 Outlook 要求集) .这将检查 API 到 运行 所需的一切是否可用。
如果您的 add-in 需要 API,您可以通过更新 add-in manifest 中支持的最低要求集来避免在 add-in 中添加条件。这意味着 add-in 在不支持该要求集的 Outlook 客户端中将不可用。
我正在开发一个使用 displayDialogAsync 进行身份验证的新 Outlook 加载项。我们有几个不同的客户端版本。它在 Mac 2016 的 Outlook 和 Windows 上的 Office 365 ProPlus Click-To-运行 版本 1808 上运行良好。但是在 windows 的 Office 2016 ProPlus MSI 版本 (MSO 16.0.4549.1000) 上,它给出了错误 "Permission Denied".
Dialog API 要求设置页面 https://docs.microsoft.com/en-us/office/dev/add-ins/reference/requirement-sets/dialog-api-requirement-sets 表示适用于 Windows 的 Office 2016 或更高版本 (一次性购买)使用 Build 16.0.4390.1000 或更高版本,它应该可以工作。我们的构建版本显然较晚,但我们仍然收到该错误。
我还证实这不是清单中的 AppDomains 造成的。我已将我尝试在对话框中打开的域添加到 AppDomains。
当 API 在 Outlook 桌面中不可用时,它会 return 出现 "Permission Denied" 错误,这是错误的错误消息。在这种情况下,它只是意味着 API 不可用。
由于您的 Outlook 版本高于 4390,这可能是因为 displayDialog API 还需要更新版本的 OSF 客户端 DLL。通过 Microsoft Update 应用 Office 更新时,所有 Office DLL 都应自动更新。在手动应用更新的情况下,某些 Office DLL 可能不包含在更新中。如果用户有意单独应用更新,此页面会列出 latest Office 2016 update files(查找 osfclient-x-none 更新,其中包含 displayDialog API).
在您的 add-in 中,您还可以做两件事来检测这种情况。首先,我们建议使用 Office.context.requirements.isSetSupported API 检查 Outlook 客户端是否支持 "Mailbox" 要求集 1.4(这是包含 displayDialog API 的 Outlook 要求集) .这将检查 API 到 运行 所需的一切是否可用。
如果您的 add-in 需要 API,您可以通过更新 add-in manifest 中支持的最低要求集来避免在 add-in 中添加条件。这意味着 add-in 在不支持该要求集的 Outlook 客户端中将不可用。