OnBeforeInstall方法在自定义操作中不触发

本文关键字:操作 方法 自定义 OnBeforeInstall | 更新日期: 2023-09-27 18:18:46

我有一个安装程序类设置,其中包含以下方法作为我的自定义操作来运行:

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。

这个方法是在安装之后添加的,但我认为这将在安装之前自动点击。我错过了什么?

OnBeforeInstall方法在自定义操作中不触发

我注释掉了公共Installer1(){…},然后触发OnBeforeInstall方法。所以,它是固定的,但我不知道为什么。如果有人知道为什么我很想知道。

Install Addon必须在安装程序构建之前手动构建。