Wix 事件日志未创建

发布于 2024-12-06 09:48:29 字数 475 浏览 1 评论 0原文

我正在尝试使用 Wix 在安装时创建事件日志和事件源。安装不会失败或给出任何错误...但我没有看到任何名为 MyApp 的事件日志被创建。

      <PropertyRef Id="NETFRAMEWORK40FULLINSTALLROOTDIR"/>


      <Component Id="EventLog" Guid="AD09F8B9-80A0-46E6-9E36-9618E2023D67">
        <util:EventSource Log="MyApp" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll" />
      </Component>

我以前有一个 .NET Installer 类可以执行此操作,并且运行没有问题。

我做错了什么?

I'm trying to create an Event Log and Event Source at install time using Wix. The install doesn't fail or give any error...but I don't see any Event Log called MyApp getting created.

      <PropertyRef Id="NETFRAMEWORK40FULLINSTALLROOTDIR"/>


      <Component Id="EventLog" Guid="AD09F8B9-80A0-46E6-9E36-9618E2023D67">
        <util:EventSource Log="MyApp" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll" />
      </Component>

I previously had a .NET Installer class that did this and it worked without a problem.

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陪我终i 2024-12-13 09:48:30

我遇到了问题,这是因为我缺少 元素;我的代码最终看起来像这样:(

<Component Id="CreateEventLog32Bit" Guid="{some-guid}" Permanent="yes">
    <Condition><![CDATA[NETFRAMEWORK40FULLINSTALLROOTDIR AND NOT VersionNT64]]></Condition>
    <CreateFolder />
    <util:EventSource Log="Application" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll" />
</Component>
<Component Id="CreateEventLog64Bit" Guid="{some-other-guid}" Permanent="yes">
    <Condition><![CDATA[NETFRAMEWORK40FULLINSTALLROOTDIR64  AND VersionNT64]]></Condition>
    <CreateFolder />
    <util:EventSource Log="Application" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll" />
</Component>

因此它可以处理 .NET 4 的 32 位和 64 位安装)

I had problems with this, and it was because I was missing a <CreateFolder /> element; my code ended up looking like this:

<Component Id="CreateEventLog32Bit" Guid="{some-guid}" Permanent="yes">
    <Condition><![CDATA[NETFRAMEWORK40FULLINSTALLROOTDIR AND NOT VersionNT64]]></Condition>
    <CreateFolder />
    <util:EventSource Log="Application" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll" />
</Component>
<Component Id="CreateEventLog64Bit" Guid="{some-other-guid}" Permanent="yes">
    <Condition><![CDATA[NETFRAMEWORK40FULLINSTALLROOTDIR64  AND VersionNT64]]></Condition>
    <CreateFolder />
    <util:EventSource Log="Application" Name="MyApp" EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll" />
</Component>

(so it can handle both 32-bit and 64-bit installs of .NET 4)

梦里人 2024-12-13 09:48:30

您可以发布安装程序日志吗? EventSource 元素实际上只是一些语法糖。 WiX 将这些转换为简单的注册表项/值,并且我在使用它的任何安装中从未见过它失败。

Can you post an installer log? The EventSource element is really just some syntatical sugar. WiX translates these into simple registry keys/values and I've never seen it fail in any of the installs I've used it in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文