我需要创建一个新的事件源,以便我的 office 插件可以将事件记录到事件日志中。这需要管理员权限,所以我需要在安装时执行此操作。msdn 文档说:
如果从 Installer 继承的类标记为 RunInstallerAttribute 设置为 >true,则在安装程序集时将调用 Visual Studio 的自定义操作安装程序或 InstallUtil.exe。
现在我正在使用标准的 Visual Studio Outlook 2007 项目,我相信它会创建一个 ClickOnce setup.exe 文件,可用于安装我的加载项。所以我需要做的就是在我的加载项项目中包含 MyEventLogInstaller 类(如下所示),setup.exe 会检测到它并安装日志源?我的 setup.exe 是否检测到 RunInstaller 属性并使用“自定义操作安装程序”?我理解代码(下面),但我不明白的是安装程序如何知道在派生的 MyEventLogInstaller 上实际调用 Install 方法?
[RunInstaller(true)]
public class MyEventLogInstaller: Installer
{
private EventLogInstaller myEventLogInstaller;
public MyEventLogInstaller()
{
myEventLogInstaller = new EventLogInstaller();
myEventLogInstaller.Source = "Source1";
myEventLogInstaller.Log = "Log1";
Installers.Add(myEventLogInstaller);
}
}