我在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();
}
}