7

我有一个使用 VSTO 2010 开发的 Outlook 插件,我想编写一些事件日志记录。在调试时,我只需执行以下操作即可使其工作:

if (!EventLog.SourceExists(ADDIN_FRIENDLY_NAME))
{
    EventLog.CreateEventSource(ADDIN_FRIENDLY_NAME, null);
}
EventLog.WriteEntry(ADDIN_FRIENDLY_NAME, message, EventLogEntryType.Warning);

问题是加载项的发布版本没有读取日志的管理员权限。我发现一些关于在安装过程中创建 EventLog 源的文章,但我使用的是 ClickOnce,但似乎没有办法做到这一点。此外,有人谈到创建一个单独的 DLL,然后调用InstallUtil该 DLL 来创建源代码。这对我也不起作用,因为这仍然需要管理员权限。

是否可以使用 Outlook 的安全级别运行加载项?我在事件日志中看到 Outlook 的消息,因此它必须有足够的权限才能这样做。

4

1 回答 1

1

您可以尝试使用本文中提出的解决方案以管理员身份运行 click 一次,但我认为这不是一个好的解决方案。

也许更好的解决方案是在您的点击中包含一个标准的 .msi 设置,您可以在第一次安装插件时执行该设置。这个 msi 只是创建事件源。

关于你的问题:

是否可以使用 Outlook 的安全级别运行加载项?

我不认为您的加载项使用不同的安全级别运行,但您可能启用了 UAC,因此如果您是管理员,您也无法执行管理操作。

于 2012-12-26T16:27:43.757 回答