使用 wix 创建应用程序事件日志的推荐方法似乎是
<Util:EventSource
Name="BLAH"
Log="Application"
EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll"/>
在 64 位操作系统上,您将其 NETFRAMEWORK40FULLINSTALLROOTDIR 替换为 NETFRAMEWORK40FULLINSTALLROOTDIR64。
我注意到,当您在 64 位操作系统上运行 32 位应用程序时,当您使用代码中的 .NET EventLog.CreateEventSource方法时,它会使用 NETFRAMEWORK40FULLINSTALLROOTDIR 创建一个事件日志。
EventMessageFile => C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
如果您运行没有事件日志的 64 位版本的应用程序,它将创建它
EventMessageFile => C:\Windows\Microsoft.NET\Framework64\v4.0.30319\EventLogMessages.dll
无论 EventMessageFile 在路径中是否包含 Framework 或 Framework64,应用程序的 32 位和 64 位版本都可以在创建后愉快地对其进行写入。
这是受支持的行为吗?如果要同时允许应用程序的 32 位和 64 位版本,那么创建它的正确方法是什么?