2013-05-07 3 views
1

Я хочу сделать установщик MSI для моего приложения, и мне также необходимо удаленно развернуть это приложение с помощью развертывания программного обеспечения активного каталога. Я также должен убедиться, что это приложение не установлено несколько раз и не должно допускать никаких исправлений или изменений. Чтобы обеспечить эту вещь, я сделал ARPNOREPAIR = 1 в моем установщике. Это отлично работает, если я пытаюсь установить несколько экземпляров вручную или даже тихо. Но я сталкиваюсь с проблемой, когда делаю это с помощью активного каталога. Он всегда допускает множественную установку, которая приводит к поврежденному состоянию установки. Я хочу, чтобы я мог убедиться, что несколько экземпляров приложений не установлены, даже если версии разные.Как избежать многократной установки/ремонта одного и того же продукта с помощью установщика MSI

Благодаря

+0

Действительно ли вы имеете в виду несколько экземпляров? Это расширенный сценарий разработки, который требует времени, чтобы снять. Какова ваша собственность ALLUSERS? Я предполагаю, что вы хотите сказать, что он постоянно устанавливается в контексте для каждого пользователя для разных профилей. –

ответ

1

Самый простой способ блокировать все версии .msi пакет из устанавливаемого заключается в использовании информации, представленной UpgradeCode. Вы можете найти другие варианты, связанные пакеты, добавив следующее (используя синтаксис Toolset WiX):

<Upgrade Id='PUT-UPGRADE-CODE-HERE'> 
    <UpgradeVersion OnlyDetect='yes' Property='FOUND_RELATED_PACAKGE' /> 
</Upgrade> 

Это установит свойство с именем FOUND_RELATED_PACKAGE к списку ProductCodes из уже установленных пакетов. Тогда вы могли бы блокировать установку, как так (с использованием синтаксиса Toolset WiX):

<Condition Message='Another version of [ProductName] is already installed."> 
    Installed OR NOT FOUND_RELATED_PACAKGE 
</Condition> 

Наконец, это очень опасно блокировать ремонт в .msi пакет. Существует множество ситуаций (включая незначительное обновление и исправление), которые зависят от ремонта, работающего для пакета. Было бы намного лучше сделать ваш установочный пакет устойчивым к ремонту, поскольку он настолько фундаментален, насколько это работает.

Удачи вам!

+0

Привет, Роб, я поставил все эти условия, но моя проблема в том, что эти проверки не работают, когда я устанавливаю это приложение, используя активную политику группы каталогов. – Dalchand

 Смежные вопросы

  • Нет связанных вопросов^_^