我有一个安装程序类设置,其中包含以下方法作为我的自定义操作运行:
public Installer1()
{
InitializeComponent();
#if DEBUG
Debugger.Launch(); //enables debugging
#endif
}
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
ModifyConfig();
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
if (targetSite == null) throw new InstallException("IIS site name not specified");
else
{
//CreateApplicationPool();
//CreateWebsite();
//AssignAppPool();
}
}
我已经注释掉了安装方法中发生的大部分内容,因为此时我只是试图测试 ModifyConfig()。当我运行安装程序时,调试器按预期启动。但是,当我逐行浏览代码时,完全跳过 OnBeforeInstall 方法并直接跳转到 Install 方法。继续它永远不会碰到 OnBeforeInstall。
这个方法是在 Intall 之后添加的,但我认为这会在自动安装之前命中。我错过了什么?