2014-01-15 10 views
0

У меня был проект InstallShield 2011 (A), который устанавливает сервис и копировал этот проект для использования в другом проекте (B), который устанавливает другую службу.InstallShield 2011 не удаляет сервис из списка услуг

Во время удаления кажется, что если установлен (A) или (B), служба удаляет и удаляется из списка «Службы». Однако, если BOTH (A) и (B), то (B) не удаляется из списка Services при удалении. Фактические файлы удаляются, поэтому, когда я нажимаю правой кнопкой мыши для запуска службы, он говорит, что файл не найден.

Я обновил код продукта и код обновления на странице общей информации проекта и обновил ключевое имя в проекте настройки - дополнительные настройки - службы - [Мой сервис] при копировании проекта InstallShield.

Есть ли другие общие элементы, которые могут повлиять на удаление?

ответ

1

Также могут использоваться общие идентификаторы GUID. Скорее всего, это источник ваших проблем. Как практика, вы НИКОГДА не должны копировать проект и использовать его для создания проекта установки для другого аналогичного продукта, это самый простой способ пропустить обновление некоторых GUID, которые должны быть уникальными, и ваши пакеты ведут себя некорректно.

Я не знаю, имеет ли опция InstallShield, другие инструменты имеют его, но рекомендуемый метод - создать шаблон проекта из первого (A), а затем создать новый проект из этого шаблона, который должен убедиться, что вы получите новые уникальные идентификаторы GUID для всех чувствительных областей из пакета.

+0

При сохранении проекта InstallShield в качестве шаблона и создании нового проекта из шаблона коды продукта/обновления меняются, но коды компонентов остаются неизменными. Нужно ли им быть уникальным в нескольких проектах? – jkh

+0

Компоненты GUID должны быть уникальными. Если вы хотите, чтобы определенные файлы были разделены между обоими приложениями, а некоторые GUID для компонентов, лучшим вариантом было бы создание модуля слияния и добавление этого модуля слияния в оба проекта. Но если проекты считаются полностью изолированными, тогда у вас должны быть уникальные GUID для компонентов. –