%1 не является приложением Win32. ProjectInstaller и проект установки службы

Я создал службу Windows, в которой есть класс установщика проекта в отдельном проекте библиотеки классов. В проект установки я включил основной результат этих двух проектов (Installer Lib и Service Project). Затем я создаю проект и устанавливаю его с помощью проекта установки, который проходит нормально. Но когда я пытаюсь запустить его вручную, из командной строки или с помощью функции ServiceController.Start(), появляется следующая ошибка: щелкните, чтобы увидеть изображение, поскольку это мой первый пост и мне не разрешено добавлять изображения, о которых идет речь. Это может быть ошибка несовпадения платформ трех проектов, поэтому я поделюсь конфигурацией каждого из них.

  1. Проект установщика (библиотека классов с установщиком проекта) введите описание изображения здесь
  2. Настройка конфигурации проекта Настройка конфигурации проекта
  3. Конфигурация проекта службы Конфигурация проекта службы

Файл конфигурации решения Конфигурация всего решения Он работал нормально, пока я не испортил библиотеку классов. это код этого класса

       {
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
    private int eventId = 1;
    private EventLog eventLog1 = new EventLog();

    public ProjectInstaller()
    {
        //InitializeComponent();
        ServiceProcessInstaller serviceProcessInstaller1 = new ServiceProcessInstaller();
        ServiceInstaller serviceInstaller1 = new ServiceInstaller();

        serviceProcessInstaller1.Account = ServiceAccount.LocalService;
        serviceProcessInstaller1.Username = null;
        serviceProcessInstaller1.Password = null;

        serviceInstaller1.DisplayName = "TZChromar";
        serviceInstaller1.StartType = ServiceStartMode.Automatic;
        serviceInstaller1.Description = "Changes the time of your device";
        serviceInstaller1.ServiceName = "TZChromar";

        _ = Installers.Add(serviceProcessInstaller1);
        _ = Installers.Add(serviceInstaller1);
        if (!EventLog.SourceExists("MySource"))
        {
            EventLog.CreateEventSource(
                "MySource", "MyNewLog");
        }
        eventLog1.Source = "MySource";
        eventLog1.Log = "MyNewLog";
        eventLog1.WriteEntry(serviceInstaller1.DisplayName+ serviceInstaller1.ServiceName, EventLogEntryType.Information, eventId++);
        //AfterInstall += new InstallEventHandler(ServiceInstaller_AfterInstall);
    }
    protected override void OnAfterInstall(IDictionary savedState)
    {
        base.OnAfterInstall(savedState);
        // Add steps to be done after the installation is over.
        ServiceController[] servicelist = ServiceController.GetServices();
        foreach (ServiceController service in servicelist)
        {
            if (service.ServiceName == "TZChromar")
            {
                
            }

        }
    }
    //void ServiceInstaller_AfterInstall(object sender, InstallEventArgs e)
    //{
    //    ServiceInstaller serviceInstaller = (ServiceInstaller)sender;

    //    using (ServiceController sc = new ServiceController(serviceInstaller.ServiceName))
    //    {
    //        eventLog1.WriteEntry("in project Installer", EventLogEntryType.Information, eventId++);
    //        sc.Start();
    //    }
    //}
}

Подскажите пожалуйста, в чем я ошибаюсь. И заранее спасибо

0 ответов

Другие вопросы по тегам