kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 jkh
jkh
Вопрос

Установки Windows, созданные в Visual студии

Когда я создаю новый сервис Windows в Visual Studio 2010 с, я получаю сообщение о том, чтобы использовать программы installutil и чистый старт для запуска службы.

Я пробовал следующие шаги:

  1. Создать новый файл -&проект gt; Новая -и gt; Проект> службы Windows
  2. Название Проекта: Службы Testservice
  3. Проект построить как (конструктор Служба1, методы onStart, то onStop)
  4. Откройте командную строку, запустите и"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" TestService.exe
  5. Запуска чистый запуск службы testservice.

Выход Шаг 4

выполнение операции установки.

В начале фазы установки установки.

посмотреть содержимое файла журнала C:\Users\myusername\Documents\Visual студия 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe собрание'ы прогресса.

этот файл находится в C:\Users\myusername\Documents\Visual студия \проекты\2010 Тес tService\службы testservice\параметр obj\х86\отладки\службы testservice.Installlog по.

установка сборки 'C:\Users\myusername\Documents\Visual студия проекты\2010\тестов поставщик\службы testservice\параметр obj\х86\отладки\службы testservice.ехе'.

затронуты следующие параметры:

logtoconsole =

логфайл = C:\Users\myusername\Documents\Visual студия 2010\проекты\службы testservice\Т estService папке\obj\х86\отладки\службы testservice.Installlog по

путь_сборки = C:\Users\myusername\Documents\Visual студия 2010\проекты\TestServ ice\TestService\obj\x86\Debug\TestService.exe

нет публичных монтажники с атрибутом runinstallerattribute.Атрибут да может быть найден в C:\Users\myusername\Documents\Visual студия 2010\проекты\службы testservice\TestSe rvice\obj\x86\Debug\TestService.exe сборка.

этап установки успешно завершен, и фаза фиксации В начале.

посмотреть содержимое файла журнала C:\Users\myusername\Documents\Visual студия 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe собрание'ы прогресса.

этот файл находится в C:\Users\myusername\Documents\Visual студия \проекты\2010 Тес tService\службы testservice\параметр obj\х86\отладки\службы testservice.Installlog по.

> в совершении ассамблеи 'C:\Users\myusername\Documents\Visual студия проекты\2010\тестов поставщик\службы testservice\параметр obj\х86\отладки\службы testservice.ехе'.

затронуты следующие параметры:

logtoconsole =

логфайл = C:\Users\myusername\Documents\Visual студия 2010\проекты\службы testservice\Т estService папке\obj\х86\отладки\службы testservice.Installlog по

путь_сборки = C:\Users\myusername\Documents\Visual студия 2010\проекты\TestServ ice\TestService\obj\x86\Debug\TestService.exe

нет публичных монтажники с атрибутом runinstallerattribute.Атрибут да может быть найден в C:\Users\myusername\Documents\Visual студия 2010\проекты\службы testservice\TestSe rvice\obj\x86\Debug\TestService.exe сборка.

удалить файл InstallState, потому что нет монтажников.

фиксация этап успешно завершен.

осуществляется установка завершена.

Выход Шаг 5

Имя службы является недействительным.

Дополнительная справка доступна, наберите net HELPMSG 2185.

133 2011-10-27T20:41:29+00:00 7
Yuval Itzchakov
Yuval Itzchakov
Редактировал вопрос 22-го ноября 2014 в 2:53
Программирование
service
windows
c#
windows-services
installutil
Решение / Ответ
Miguel Angelo
Miguel Angelo
27-го октября 2011 в 8:45
2011-10-27T20:45:56+00:00
Дополнительно
Источник
Редактировать
#13687340

Вам нужно открыть сервис.файл CS в конструкторе, нажмите правую кнопку мыши и выбрать в меню-Вариант "и добавить установщик и".

Он выиграл'т установить прямо из коробки... нужно сначала создать класс установщика.

Ссылка на сервис установки:

Как добавить монтажники с приложением Service

Довольно старый... но это о чем я говорю:

Служб Windows на C#: добавление установщика (часть 3)

При этом, в файле projectinstaller.КС будет автоматически создан. Затем вы можете дважды щелкнуть по нему, введите конструктор и настроить компоненты:

  • мыши serviceinstaller1 имеет свойства самого обслуживания: описание, отображаемое имя, Имя и starttype значение являются самым важным.

  • serviceProcessInstaller1 обладает этим важным свойством: "учетная запись", которая является учетной записью в которой будет запускаться служба.

Например:

this.serviceProcessInstaller1.Account = ServiceAccount.LocalSystem;
Jason Aller
Jason Aller
Редактировал ответ 4-го августа 2018 в 5:49
235
0
James  Michael Hare
James Michael Hare
27-го октября 2011 в 8:45
2011-10-27T20:45:18+00:00
Дополнительно
Источник
Редактировать
#13687339

Глядя на:

нет публичных монтажники с атрибутом runinstallerattribute.Да атрибут может быть найден в C:\Users\myusername\Documents\Visual студия 2010\проекты\службы testservice\TestSe rvice\obj\x86\Debug\TestService.exe сборка.

Похоже, вы не можете иметь класс установщика в вашем коде. Это класс, который наследует от установки что сказать программы installutil как установить программы в качестве сервиса.

П. С. У меня есть своя маленькая самостоятельная установка/шаблон отладочном службы Windows, которые вы можете скопировать код или использовать: отладочном самостоятельной установке служб Windows

James  Michael Hare
James Michael Hare
Редактировал ответ 27-го октября 2011 в 8:50
11
0
 Carol
Carol
3-го ноября 2016 в 7:48
2016-11-03T19:48:48+00:00
Дополнительно
Источник
Редактировать
#13687343

Вот альтернативный способ сделать установщик и избавиться от этого сообщения об ошибке. Также кажется, что VS2015 Express не имеют "и добавить установщик и" Пункт меню.

Вам просто нужно создать класс и добавить ниже код и добавить ссылку System.Configuration.Install.dll.

using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;

namespace SAS
{
    [RunInstaller(true)]
    public class MyProjectInstaller : Installer
    {
        private ServiceInstaller serviceInstaller1;
        private ServiceProcessInstaller processInstaller;

        public MyProjectInstaller()
        {
            // Instantiate installer for process and service.
            processInstaller = new ServiceProcessInstaller();
            serviceInstaller1 = new ServiceInstaller();

            // The service runs under the system account.
            processInstaller.Account = ServiceAccount.LocalSystem;

            // The service is started manually.
            serviceInstaller1.StartType = ServiceStartMode.Manual;

            // ServiceName must equal those on ServiceBase derived classes.
            serviceInstaller1.ServiceName = "SAS Service";

            // Add installer to collection. Order is not important if more than one service.
            Installers.Add(serviceInstaller1);
            Installers.Add(processInstaller);
        }
    }
}
8
0
 fabriciorissetto
fabriciorissetto
29-го августа 2015 в 9:38
2015-08-29T21:38:29+00:00
Дополнительно
Источник
Редактировать
#13687341

Две типичные проблемы:

  1. Отсутствует класс projectinstaller (как @MiguelAngelo указал)
  2. В командная строка должны “бегать как администратор”
 fabriciorissetto
fabriciorissetto
Редактировал ответ 15-го марта 2016 в 11:01
5
0
John Archer
John Archer
28-го июля 2016 в 12:18
2016-07-28T12:18:07+00:00
Дополнительно
Источник
Редактировать
#13687342

Другая возможная проблема (которой я столкнулся):

Будьте уверены, что файле projectinstallerклассобщественности. Честно говоря, я не уверен, как именно я это сделал, но я добавил обработчики событий вфайле projectinstaller.Дизайнер.в CS, как:

этот.serviceProcessInstaller1.BeforeInstall += новая система.Конфигурации.Установить.InstallEventHandler(это.serviceProcessInstaller1_BeforeInstall);

Я думаю, в процессе автоматического создания функции-обработчика в файле projectinstaller.КС` он изменил определение класса от

публичные файле projectinstaller класс : система.Конфигурации.Установить.Установщик`

для

частичный файле projectinstaller класс : система.Конфигурации.Установить.Установщик`

замена Общественного с сайта частичный. Итак, для того, чтобы исправить это так и должно быть

общественный разделяемого класса файле projectinstaller : система.Конфигурации.Установить.Установщик`

Я использую Visual Studio 2013 сообщество издание.

4
0
Sql Surfer
Sql Surfer
22-го января 2017 в 6:02
2017-01-22T18:02:23+00:00
Дополнительно
Источник
Редактировать
#13687344

Изменение стелс в VS 2010 и .Net 4.0 и более поздних

Отсутствие публичных монтажники с атрибутом runinstallerattribute.Да атрибут может быть найден

Есть изменения псевдонима или очистки компилятора .Net, который может раскрыть этот маленький твик для вашего конкретного случая.

Если у вас есть следующий код ...

RunInstaller(true)   // old alias  

Вам может потребоваться обновить ее

RunInstallerAttribute(true)  // new property spelling

Это как псевдоним изменен под одеялом во время компиляции или во время выполнения, и вы получите эта ошибка. Вышеуказанные явные изменения атрибутом runinstallerattribute(правда) исправил во всех наших сценариях установить на всех машинах.

После добавления проекта или услуги установки проверьте наличие “старых” RunInstaller(true) и замените его новым атрибутом runinstallerattribute(правда)

2
0
 Phlash
Phlash
26-го марта 2019 в 2:09
2019-03-26T14:09:32+00:00
Дополнительно
Источник
Редактировать
#13687345

Еще одна загвоздка я столкнулся: убедитесь, что ваш установщик производного класса (как правило файле projectinstaller) находится на самом верху иерархии имен, я попытался использовать общественный класс внутри другого класса, но это выливается в те же старые ошибки:

Отсутствие публичных монтажники с атрибутом runinstallerattribute.Да атрибут может быть найден

1
0
Похожие сообщества 10
Microsoft Stack Jobs
Microsoft Stack Jobs
2 421 пользователей
Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks
Открыть telegram
С#
С#
2 340 пользователей
Стараемся не флудить. Пишем по делу. Правила: https://t.me/professorweb/430450 Для флуда @svoboda_obsh
Открыть telegram
CODE BLOG / C#
CODE BLOG / C#
1 750 пользователей
Чат для .NET разработчиков и C# программистов. По всем вопросам: @shwanoff Youtube-канал: https://youtube.com/codeblog Основной канал: @codeblog Вконтакте: https://vk.com/codeblog Правила: https://t.me/codeblog_csharp/246972 Вакансии по тегу #work
Открыть telegram
Pro Windows
Pro Windows
1 485 пользователей
Microsoft Windows и всё, что с этим связано. Правила: https://t.me/pro_windows/308448 Список интересных групп и каналов: https://github.com/goq/telegram-list
Открыть telegram
var chat = new Chat();
var chat = new Chat();
1 352 пользователей
Обсуждение вопросов по .NET Правила чата – https://blog.devdigest.today/chat-rules Чат для флуда – https://t.me/+zwxI91RGG6s2YzAy
Открыть telegram
pro_winapi
pro_winapi
569 пользователей
Обсуждение вопросов программирования в os Windows на C/C++ и других языках, связанных с API этой операционной системы
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Роман Азаров
Зарегистрирован 3 дня назад
2
Mansur Zakirov
Зарегистрирован 6 дней назад
3
Тагир Мамедов
Зарегистрирован 1 неделю назад
4
Алексей Толманов
Зарегистрирован 1 неделю назад
5
Valeriu Vodnicear
Зарегистрирован 2 недели назад
ID
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией