Проблемы с использованием установки в веб -установке для веб -сайта
-
28-10-2019 - |
Вопрос
Я пытаюсь создать веб -настройку для моего веб -сайта, и я хочу использовать класс установщика, чтобы сделать что -то настраиваемые вещи. Я использую VS 2010, а веб -сайт и установщик .NET 3.5.
Я добавил ссылку на вывод проекта Installer Class в Install
раздел под 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
{
...