%1 не является приложением Win32. ProjectInstaller и проект установки службы
Я создал службу Windows, в которой есть класс установщика проекта в отдельном проекте библиотеки классов. В проект установки я включил основной результат этих двух проектов (Installer Lib и Service Project). Затем я создаю проект и устанавливаю его с помощью проекта установки, который проходит нормально. Но когда я пытаюсь запустить его вручную, из командной строки или с помощью функции ServiceController.Start(), появляется следующая ошибка: щелкните, чтобы увидеть изображение, поскольку это мой первый пост и мне не разрешено добавлять изображения, о которых идет речь. Это может быть ошибка несовпадения платформ трех проектов, поэтому я поделюсь конфигурацией каждого из них.
- Проект установщика (библиотека классов с установщиком проекта) введите описание изображения здесь
- Настройка конфигурации проекта Настройка конфигурации проекта
- Конфигурация проекта службы Конфигурация проекта службы
Файл конфигурации решения Конфигурация всего решения Он работал нормально, пока я не испортил библиотеку классов. это код этого класса
{
[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();
// }
//}
}
Подскажите пожалуйста, в чем я ошибаюсь. И заранее спасибо