C # Установка класса не выполняется - PullRequest
2 голосов
/ 10 февраля 2010

Я сделал простой класс установки:

[RunInstaller(true)]
public class MyCustumAction : Installer
{
    public override void Install(System.Collections.IDictionary stateSaver)
    {
        base.Install(stateSaver);
        string value = Context.Parameters["targetdir"];

        throw new Exception("Contact?? " + value);

        WriteLog(value);
    }

    private void WriteLog(string message)
    {
        using(FileStream f = File.Create(@"C:\ik ben nieuw.txt"))
        {
            using (StreamWriter w = new StreamWriter(f))
            {
                w.WriteLine("Dag van installatie: " + DateTime.Now.ToString());
                w.WriteLine(message);

            }
        }
    }
}

В моем проекте установки я сделал следующее:

  • Добавить вывод проекта - основной вывод моей сборки
  • Добавление настраиваемого действия в каталог установки (представление «Настраиваемые действия»)
  • Установите для CustumActionData значение '/ targettdir = "[TARGETDIR] \"'
  • Сборка моей сборки и сборка проекта установки

Во время установки исключение не выдается. Почему бы и нет? Кажется, мой класс не вызывается. Что я здесь не так делаю?

UPDATE

Когда я создаю отдельный проект только с классом установщика в нем, добавляю это ont к выходу моего проекта и правильно устанавливаю действие custum, я получаю исключение!

Теперь мне интересно, почему этот же файл не вызывается в моей собственной сборке (winforms) ..

Ответы [ 3 ]

0 голосов
/ 10 февраля 2010

Вы украсили свой класс

[RunInstaller (истина)]

0 голосов
/ 10 февраля 2010

У меня есть некоторые заметки, когда я пытался решить эту же проблему:

для установки на Vista, убедитесь, что вы инициировать из Setup.exe, а не из Мси

Даже если вы используете XP, возможно, вам следует попробовать запустить файл setup.exe

0 голосов
/ 10 февраля 2010

Вам нужно украсить свой класс атрибутом RunInstaller. Это обеспечивает более подробную информацию.

http://msdn.microsoft.com/en-us/library/system.componentmodel.runinstallerattribute.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...