Здравствуйте, lonli, Вы писали:

_M_>>в мсдне хорошие статьи есть, с примерами

L>Статей с удалением я не нашел, например.

Solution Explorer — файл с классом сервиса, контекстное меню — View Designer — контекстное меню на окне дизайнера — Add Installer

Выбрать добавленный инсталлер в дизайнере, заполнить свойства.

В проект будет добавлен класс

   [RunInstaller(true)]
   public partial class ProjectInstaller : Installer


атрибут RunInstaller позволяет задейтсвовать этот класс при использовании инсталяторов, которые делает студия, я их не использую, атрибут убираю, в класс Program добавляю

      private static void InstallService()
      {
         // установить
         using (ProjectInstaller pi = new ProjectInstaller())
         {
            IDictionary savedState = new Hashtable();
            try
            {
               pi.Context = new InstallContext();
               pi.Context.Parameters.Add("assemblypath", Process.GetCurrentProcess().MainModule.FileName);
               foreach (Installer i in pi.Installers)
                  i.Context = pi.Context;
               pi.Install(savedState);
               pi.Commit(savedState);
            }
            catch (Exception ex)
            {
               Console.WriteLine(ex.Message);
               pi.Rollback(savedState);
            }
         }
      }

      private static void RemoveService()
      {
         // удалить
         using (ProjectInstaller pi = new ProjectInstaller())
         {
            try
            {
               pi.Context = new InstallContext();
               pi.Context.Parameters.Add("assemblypath", Process.GetCurrentProcess().MainModule.FileName);
               foreach (Installer i in pi.Installers)
                  i.Context = pi.Context;
               pi.Uninstall(null);
            }
            catch (Exception ex)
            {
               Console.WriteLine(ex.Message);
            }
         }
      }


и вызываю их при запуске с командной строкой -install или -remove
... << RSDN@Home 1.2.0 alpha rev. 678>>
Автор: Odi$$ey    Оценить