在我们的应用程序中存在某些情况,其中发生非致命错误并且应用程序恢复.
在将所述项目填充到选择列表时,无法正确识别某些可导入项目的示例.错误不会使应用程序崩溃,但会提醒用户某些项目无法加载.
在这种情况下,错误将作为警告记录到应用程序事件日志中.这是应用程序恢复的非致命错误,但是如果需要,登录到事件日志可以让我们看到原始错误.
我们的问题是该软件需要能够与高级用户帐户一起安装.不是管理员帐户,我们将无法为应用程序创建自定义事件源.
目的是将错误写入"应用程序"事件源(已存在于应用程序事件日志中).但是,这样做也会导致类似于以下内容的文本.
无法找到源应用程序中的事件ID 0的描述.引发此事件的组件未安装在本地计算机上,或者安装已损坏.您可以在本地计算机上安装或修复该组件.
这是因为当我们编写它时,EventID为0.这种方法可以完成工作,但有更好的方法吗?是否有非管理员方式为应用程序事件源指定EventID以指示它来自我们的应用程序?
您看到的错误为找不到源应用程序中的事件 ID 0 的描述。您的本地计算机上未安装引发此事件的组件,或者安装已损坏。您可以在本地计算机上安装或修复该组件。是应用程序源的注册事件消息文件没有事件 id 0 条目的结果。您看到的消息是从事件消息文件中获取消息 id 模板并使用事件负载对其进行格式化的结果。
一般来说,我不建议您劫持不属于您的资源。无论是谁消费这些事件,都对它们的含义和携带的信息有特定的期望。
关于是否有非管理方式来指定应用程序事件源的EventID以表明它来自我们的应用程序?,您认为事件 ID 规范意味着什么?源决定了事件的来源。
编辑:
无论您是否提供非 0 的事件 ID,您都会在事件查看器中收到错误,因为该源没有注册事件消息文件。即使确实如此,您也必须使用消息文件中具有条目的事件 ID(使事件的使用者感到困惑)或没有条目的事件 ID,但仍然会收到错误。
| 归档时间: |
|
| 查看次数: |
2609 次 |
| 最近记录: |