Проблемы с использованием установки в веб -установке для веб -сайта

StackOverflow https://stackoverflow.com/questions/9359890

Вопрос

Я пытаюсь создать веб -настройку для моего веб -сайта, и я хочу использовать класс установщика, чтобы сделать что -то настраиваемые вещи. Я использую VS 2010, а веб -сайт и установщик .NET 3.5.

Я добавил ссылку на вывод проекта Installer Class в Install раздел под Custom Actions:
Custom Actions

Я тоже настроен /targetdir="[TARGETDIR]/" на CustomActionData для этого действия.

А InstallScript Проект - это стандартная библиотека классов (DLL).
Есть публичный класс, который наследует от Installer учебный класс. Он переопределяет метод установки, как я видел в нескольких онлайн -примерах:

using System.Collections;
using System.Windows.Forms;

namespace InstallScript
{
  public class MyWebInstaller : System.Configuration.Install.Installer
  {
    public override void Install(IDictionary stateSaver)
    {
      base.Install(stateSaver);
      var targetDir = Context.Parameters["targetdir"];
      if(targetDir==null) targetDir = "No TARGETDIR!";
      MessageBox.Show("TARGETDIR:\t" + targetDir);
    }
  }
}

Я думаю, что во время установки должна быть показана ящик сообщений во время установки, но кажется, что его никогда не называют. Ошибка тоже не отображается. Настройка просто проходит, как будто этот код никогда не был вызван.

У кого -нибудь есть представление о том, что не так?

Это было полезно?

Решение

Хорошо, я узнал, чего не хватало.

Вам нужно указать класс с атрибутом класса RunInstaller(true) Чтобы настройка забрала и фактически запустил код.

Таким образом, класс должен быть объявлен таким образом:

[System.ComponentModel.RunInstaller(true)]   
public class MyWebInstaller : System.Configuration.Install.Installer   
{
  ...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top