无法写入 Windows 应用程序日志 (C#)

Can't Write to Windows Application Log (C#)

我不久前编写的应用程序遇到了一个非常奇怪的问题。它一直没有问题地工作,但是在搁置一段时间后,它就停止了运行。我将在此处附上代码:

try
{
    using (Process proc = Process.Start(starter))
    {
        windowHider();
        proc.WaitForExit();

        DateTime endStamp = DateTime.Now;
        endStamp = truncate(endStamp);
        TimeSpan diff = endStamp.Subtract(startStamp);

        string programSource = "applicationName";
        string logLocation = "Application";
        string occurance = "Var='" + varName + "' Var2='"+ var2Name + "' Var3='" + var3Name + "' Var4='" + var4Name + "' Var5='" + var5Name + "' Var6='" + var6Name + "'";

        try
        {
            if (!EventLog.SourceExists(programSource))
            {
                EventLog.CreateEventSource(programSource, logLocation);
            }
            else
            {
                EventLog.WriteEntry(programSource, occurance);
            }
        }
        catch (Exception err)
        {
            string message = "There was an error with usage logging. Please contact IT.";
            MessageBox.Show(message);
            errorLogger(message, err.ToString(), ((Control)sender).Name);
            this.Close();
        }

        this.Close();
    }
}

当启动的进程退出时,程序将写入应用程序日志。但是,出于某种原因,我收到以下错误:

Exception: System.ComponentModel.Win32Exception (0x80004005): The specified path is invalid

它引用这一行作为原因:

EventLog.WriteEntry(programSource, occurance);

关于这个突如其来的问题有什么想法吗?

我想通了!注册表中有损坏的东西,一定有另一个损坏的组件潜伏在某处。我更改了源名称,它没有任何问题。

原来的 sourcename 可以在其他机器上运行,这让我觉得这肯定是注册表出了问题。