Я скачал Visual Studio 2012 вчера, когда он был выпущен на MSDN. Я заметил, что некоторые типы проектов, которые были у нас в 2010 году, исчезли или изменились. Самая большая разница для меня сейчас - это удаление проекта установщика Windows. Теперь нас заставляют использовать InstallShield LE (Limited Edition). Проблема здесь в том, что я пишу тонну служб Windows и не вижу, как установить InstallShield LE. Похоже, что нам (моей компании) придется инвестировать в лицензии на профессиональную версию.
Кто-нибудь нашел способ установить сервисы в InstallShield LE? При использовании проекта установщика Windows вы просто устанавливаете собственные действия.
Ответы:
Для Visual Studio 2012 и InstallShield LE выполните следующие действия:
Теперь, когда вы соберете и запустите установку, ваша служба появится в оснастке Windows Services.
Обратите внимание, что здесь предполагается, что вы добавили «Установщик проекта» в свой проект службы (щелкните правой кнопкой мыши лист проектирования службы и выберите «Добавить установщик»). Я могу подтвердить эту работу в Windows 8 с помощью Visual Studio 2012 / InstallShield LE.
источник
Недавно я установил VS 2012 с помощью Install Shield LE. Сначала я продолжал получать внутреннюю ошибку сервера ISEXP -5036 после сборки (это было после настройки проекта ISLE и запуска через Install Shield Project Assistant). В конце концов я обнаружил, что он пытался создать MSI в типе носителя DVD-5, что и не удалось. По какой-то причине повторное создание решения с нуля каким-то образом распознает создание только для типов носителей CD_ROM и SingleImage, которые работают.
В любом случае, чтобы исправить ошибку 5036, щелкните вкладку «Сборка» в VS 2012 (верхнее меню), выберите диспетчер конфигурации, и вы должны увидеть, что ваш установочный файл IS выбран в конфигурации DVD-5. Измените это на CD_ROM и нажмите "Закрыть". Как только вы построите / перестроите, он завершится без ошибки IS 5036.
источник
Хотя использование флажка класса установщика может работать в некоторых случаях, может возникнуть следующая ошибка:
Вот выдержка из этой ссылки о том, как решить эту проблему:
источник
Если ваш проект - .NET, попробуйте тогда вы можете использовать класс ServiceProcessInstaller с InstallShield LE.
Чтобы заставить его работать с InstallShield, вы должны зайти в дерево «файлов» InstallShield и щелкнуть правой кнопкой мыши по вашему файлу. Затем установите флажок «Класс установщика» на вкладке «Настройки COM и .NET».
Я заставил его работать, но у меня были проблемы с некоторыми ОС, такими как Windows 2008R2. Ваш пробег может отличаться.
Вот пример: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
источник
У меня с этим были разные проблемы.
Следующим образом.
Решение для меня, как упоминалось в другом месте, - отказаться от InstallShield
С этого момента очень просто.
Изменить: Обновление - установите последнюю версию отсюда https://wix.codeplex.com/releases/view/115492 для vs 2013/2015
источник
Проекты установки Visual Studio вернулись в VS 2013 как расширение Visual Studio.
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.
источник
Я писал на эту тему:
Расширение InstallShield с помощью Windows Installer XML - Windows Services
По сути, вы создаете модуль слияния, используя WiX, чтобы инкапсулировать службу, а затем добавляете его в свой проект installshield. (Обязательно подключитесь к каталогу INSTALLDIR, чтобы убедиться, что ваш файл идет туда, куда вы ожидаете). Сборка и тестирование на виртуальной машине. Кусок пирога.
источник
Я использую 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
источник
У меня возникли проблемы с поиском места для добавления установщика, как указано в ответе. Итак, вот как.
Дважды щелкните свой класс обслуживания в своем проекте службы Windows. Пустой экран с текстом «Чтобы добавить компоненты в свой класс, перетащите их из панели инструментов и используйте окно свойств для установки их свойств ...» Щелкните правой кнопкой мыши в любом месте, кроме ссылок и выберите «Добавить установщик»
до встречи
источник
Имейте в виду, что все приведенное выше объяснение не поможет вам, если вы планируете позже создать обновление этой установки. InstallShiled LE не может остановить работающую службу при обновлении. Вы также не можете сделать это из события Window Service Installer -> BeforeInstall.
источник
Хотел поместить это сюда;
В VS 2015 при этом я неоднократно сталкивался с ошибкой 1001 при установке.
Ответ на этой странице объяснил, что в более новых версиях (что-либо после 2012 года) , по-видимому, вам нужно явно не отмечать параметр класса установщика , а затем добавить свою службу Windows в раздел Службы в Шаге 3 проекта установщика:
Ошибка 1001 при установке пользовательской службы Windows
источник