Как создать проект InstallShield LE для установки службы Windows?

Я загрузил Visual Studio 2012 вчера, когда был выпущен на MSDN. Я заметил, что несколько типов проектов, которые у нас были в 2010 году, ушли или остались разными. Самое большое различие для меня прямо сейчас - удаление проекта установщика Windows. Теперь мы вынуждены использовать InstallShield LE (Limited Edition). Проблема здесь в том, что я пишу тонну Windows Services, и я не вижу, как установить InstallShield LE. Похоже, нам (моей компании) придется инвестировать в лицензии для профессионального издания.

Кто-нибудь нашел способ установить службы в InstallShield LE? При использовании проекта установщика Windows вы просто устанавливаете пользовательские действия.

Ответ 1

Для Visual Studio 2012 и InstallShield LE выполните следующие действия:

  • Запустите помощник проекта InstallShield и добавьте основной вывод своей службы в раздел "Файлы приложений".
  • После того, как вы закончите работу с помощником проекта, дважды щелкните элемент "Файлы" в шаге 2 проекта установки.

Files section

  • Щелкните правой кнопкой мыши основной вывод своей службы и перейдите к свойствам.
  • Перейдите на вкладку "Параметры COM и .NET" и установите флажок "Класс установщика". enter image description here
  • Нажмите Ok

Теперь, после создания и запуска вашей установки, ваша служба будет отображаться в оснастке служб Windows.

Обратите внимание, что это предполагает, что вы добавили "Project Installer" в свой сервисный проект (щелкните правой кнопкой мыши на лист дизайна услуги и нажмите "Добавить установщик" ). Я могу подтвердить эту работу в Windows 8 с помощью Visual Studio 2012/InstallShield LE.

Ответ 2

Недавно я установил VS 2012 с Install Shield LE. Сначала я продолжал получать внутреннюю ошибку ISEXP-5036 после сборки (это было после настройки проекта ISLE и запуска с помощью Project Shield Project Assistant). В конце концов я узнал, что он пытался создать MSI в типе носителя DVD-5, где он был неудачным. По какой-то причине создание решения снова с нуля каким-то образом признает, что он работает только с типами CD_ROM и SingleImage.

В любом случае, чтобы исправить ошибку 5036, перейдите на вкладку "Сборка" в VS 2012 (верхнее меню), выберите диспетчер конфигурации, и вы увидите, что ваш файл установки IS выбран в конфигурации DVD-5. Измените это на CD_ROM и нажмите "Закрыть". После того, как вы построите/перестроит, он не завершит ошибку IS 5036.

enter image description here

Ответ 3

При использовании класса установщика флажок может работать в некоторых случаях, может возникнуть следующая ошибка:

Ошибка 1001. Указанная служба уже существует

Вот выдержка из этой о том, как решить эту проблему:

Для ошибки: ошибка 1001. Указанная служба уже существует

Эта ошибка возникает, если компонент, устанавливающий .NET-службу, неправильно настроенный с ".NET Installer Class" установлен на "Да". метод установки службы .NET заключается в использовании Component\Advanced Параметры\Службы, а не параметр ".NET Installer Class". Создание определений в представлении Component\Advanced Settings\Services создает записи в Windows Installer ServiceControl и Таблицы ServiceInstall. Эти записи используются Windows Установщик "InstallServices" для установки службы.

Ответ 4

Если ваш проект .NET, тогда попробуйте, тогда вы можете использовать класс ServiceProcessInstaller с InstallShield LE.

Чтобы заставить его работать с InstallShield, вы должны войти в дерево "InstallShield" и щелкнуть правой кнопкой мыши по файлу. Затем установите флажок "Класс установщика" на вкладке "Параметры COM и .NET".

Я получил его на работу, но у меня были проблемы на некоторых ОС, таких как Windows 2008R2. Ваш пробег может отличаться.

Вот пример: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

Ответ 5

У меня были всевозможные проблемы с этим.

Как следует.

  • InstallShield требует времени для загрузки
  • Процесс регистрации - это боль.
  • параметры конфигурации являются запутанными и чрезмерно сложными.
  • принятое решение в этом потоке - это взлом, и он не всегда работает - см. 1001 в документации - по сути вам нужно пройти через paywall, чтобы получить правильные параметры конфигурации для установки службы Windows.

Решение для меня, как упоминалось в другом месте, - отказаться от InstallShield

enter image description here

Очень легко с этой точки.

Изменить: Обновить - установите последнюю версию здесь https://wix.codeplex.com/releases/view/115492 для vs 2013/2015

Ответ 6

Проекты установки Visual Studio вернулись в VS 2013 как расширение визуальной студии.

https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

Пожалуйста, обновите свое решение и проекты до VS 2013. Если вы все еще находитесь в VS 2010, вам, вероятно, лучше приступить к обновлению до VS 2013.

Мой опыт работы с Installsheild LE заключается в том, что он очень изворотливый, но как только вы выясните трюки, его проще в использовании. Однако я считаю, что ограниченная версия - это способ Microsoft и Flexera продать полнофункциональную версию. Другими словами, сначала мы платим Microsoft за большие деньги за Visual Studio, а затем за их партнера (в преступлении) больше за Installsheild. Плохая стратегия, которая не сработала, так как они должны были вернуть проекты установки в VS 2013.

Ответ 7

Я писал об этом предмете:

Дополнение InstallShield с помощью Windows Installer XML - Службы Windows

В основном вы создаете модуль слияния с использованием WiX для инкапсуляции службы, а затем добавляете ее в проект installshield. (Обязательно связывайтесь с каталогом INSTALLDIR, чтобы убедиться, что ваш файл находится там, где вы ожидаете). Построение и тестирование на виртуальной машине. Кусок торта.

Ответ 8

Я использую VS2012 и Installshield LE Spring Edition. Мне не пришлось использовать Wix.

Если вы столкнулись с ошибкой "Не удалось создать _isconfig.xml для использования с InstallUtilLib.dll", создайте папку с тем же именем, что и проект установки, и внутри папки проекта установки.

Кредиты http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dll

Ответ 9

У меня возникли проблемы с поиском, где добавить установщик, как указано в ответе. Итак, вот как.

Дважды щелкните свой класс обслуживания в рамках своего проекта Windows Project Пустой экран с текстом "Чтобы добавить компоненты в свой класс, перетащите их из панели инструментов и используйте окно" Свойства ", чтобы установить их свойства..." Щелкните правой кнопкой мыши в любом месте, кроме ссылок, и выберите "Добавить установщик"

см. ya

Ответ 10

Имейте в виду, что все приведенное выше объяснение не поможет вам, если вы планируете позже создать обновление этой установки. InstallShiled LE не может остановить запущенную службу при обновлении. Вы не можете сделать это ни с помощью Window Service Installer → BeforeInstall.

Ответ 11

Требуется поставить это здесь;

В VS 2015, при этом, я неоднократно сталкивался с ошибкой 1001 при установке.

Ответ на этой странице объяснил, что в новых версиях (что-либо в прошлом 2012 году), очевидно, вам нужно явно оставить параметр установщика не отмечен > , а затем добавьте свою службу Windows в разделе "Службы" в разделе Шаг 3 проекта установщика:

Ошибка 1001 при установке пользовательской службы Windows

Ответ 12

Обратитесь к этой ссылке, которая поможет вам

Installshield