【问题标题】:OnBeforeInstall method not firing in Custom ActionOnBeforeInstall 方法未在自定义操作中触发
【发布时间】:2014-08-20 13:12:09
【问题描述】:

我有一个安装程序类设置,它使用以下方法作为我的自定义操作运行:

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之后添加的,但是我以为会在自动安装之前打到这个。我错过了什么?

【问题讨论】:

    标签: c# installation custom-action web-project


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      必须在安装程序构建之前手动构建安装插件。

      【讨论】:

        猜你喜欢
        • 2015-04-18
        • 2017-01-09
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-13
        相关资源
        最近更新 更多