1

我在MSDN 网站上找到了这个代码示例。我的问题是关于他们在 main 方法中实例化类的最后一行。但这有必要吗?根据Installutil上的文档:

Installutil.exe 使用反射来检查指定的程序集并查找 System.ComponentModel.RunInstallerAttribute 属性设置为 true 的所有安装程序类型。然后,该工具对 Installer 类型的每个实例执行 Installer.Install 或 Installer.Uninstall 方法。

那么这是否意味着 MyEventLogInstaller-class 的 main 方法和实例化不是必需的?

using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;

[RunInstaller(true)]
public class MyEventLogInstaller: Installer
{
    private EventLogInstaller myEventLogInstaller;

    public MyEventLogInstaller() 
    {
        // Create an instance of an EventLogInstaller.
        myEventLogInstaller = new EventLogInstaller();

        // Set the source name of the event log.
        myEventLogInstaller.Source = "NewLogSource";

        // Set the event log that the source writes entries to.
        myEventLogInstaller.Log = "MyNewLog";

        // Add myEventLogInstaller to the Installer collection.
        Installers.Add(myEventLogInstaller);   
    }

    public static void Main()
    {
        MyEventLogInstaller myInstaller = new MyEventLogInstaller();
    }
}
4

0 回答 0