Я сделал простой класс установки:
[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) ..