11

精简版:

事件源“应用程序”和“应用程序错误”是否始终包含在应用程序事件日志中?它们是否可用于新安装的 Windows XP、Vista 和 Windows 7?使用它们而不是创建我自己的源(对我来说不可能)真的很糟糕吗?

长版:

我有一个 ClickOnce 应用程序,供在其计算机上没有管理权限的用户使用。

当我尝试写入应用程序事件日志时,我得到一个安全异常。(Windows 事件日志基础结构正试图为我创建一个新的事件源,并且违反了安全规定。)

所以我想尝试重用现有的事件源。我在应用程序事件日志中发现了只有两个“通用”的来源。这些是否总是 Windows 安装的一部分,并且会做出合理的选择?

  • 应用
  • 应用程序错误

    我确信这是不赞成的,因为我应该使用自己的事件源来区分我的应用程序。但这是针对罕见的致命错误,我的代码应该在其他地方记录这些错误。我只是想要一个非常容易在客户端机器上找到它们的地方,以防万一一切都出错了......

  • 4

    1 回答 1

    3

    当我尝试写入应用程序事件日志时,我得到一个安全异常。(Windows 事件日志基础结构正试图为我创建一个新的事件源,并且违反了安全规定。)

    我刚刚在这里回答了这个问题:在 ClickOnce 应用程序中使用 EventLog

    所以我想尝试重用现有的事件源。我在应用程序事件日志中发现了只有两个“通用”的来源。这些是否总是 Windows 安装的一部分,并且会做出合理的选择?

    这样做真的不明智。现有的事件源将由 Windows 应用程序或第三方应用程序使用。如果其中任何一个被删除,或者被服务包或补丁之类的东西改变,你的程序将会崩溃,除非你已经实现了异常处理来优雅地处理异常,但是你不会有任何事件日志记录。

    还要考虑将应用程序移植到下一版本的 Windows 可能需要做的工作。我建议你为自己的背部做一根棒子。

    在我链接到的答案中,我建议处理问题的最佳方法是使用管理员权限安装您的应用程序,安装程序创建源,或者通过创建一个简单的应用程序,使用管理员角色有效地执行相同的操作。

    我唯一能建议的就是始终以管理员模式运行您的应用程序。

    于 2012-09-27T07:20:21.153 回答