Что такое атрибут wix ‘KeyPath’?

Что такое атрибут Wix ‘ KeyPath ‘? В частности, как это применимо к следующему:

    

Как объяснил Роб Меншинг :

KeyPath для компонента – это единственный ресурс, который использует установщик Windows, чтобы определить, существует ли компонент на компьютере.

Это означает, что, когда установщик Windows решает, устанавливать ли ваш компонент, он сначала посмотрит, присутствует ли ресурс keypath. Если это так, ни один из ресурсов в компоненте не установлен.

Наличие ресурса keypath также определяет, был ли компонент поврежден или пропал без вести, когда вы «исправляете» MSI.

Когда ресурс keypath представляет собой файл с версией, установщик Windows считает, что он существует, только если он находит файл с равной или более высокой версией.

В вашем конкретном примере у вас есть компонент, который удаляет папку при удалении. Этот компонент будет установлен только в том случае, если данный раздел реестра еще не существует. Добавление ключа реестра для использования в качестве ключевого пути является обычным трюком, когда вам нужен ключ-путь для компонента, который устанавливает ресурсы, которые не могут использоваться как сами по себе пути, такие как ярлык .

Interesting Posts

Как я могу перечислять все classы в пакете и добавлять их в список?

Недавно я подключил внешний HD с eSATA в Windows 7. Когда я пытаюсь включить ReadyBoost, я нажимаю «Тест» в свойствах устройства и ничего не происходит. Зачем?

Есть ли способ игнорировать одно предупреждение FindBugs?

Как создать самозаверяющий сертификат для доменного имени для разработки?

Определите, поддерживает ли графическая карта HDMI CEC

EOFException – как обращаться?

Функция gets () в C

Брандмауэр блокирует соединение, хотя разрешено

Разница между -pthread и -lpthread при компиляции

Клавиатура в стиле смартфона в Windows?

Имитировать несколько мониторов

Почему Tcler предлагает подтянуть ваши `expr`essions?

Команда Whois повреждена на mac

Можете ли вы помочь мне понять это? «Общие ошибки REST: сеансы неактуальны»

Что это означает в оболочке, когда мы помещаем команду в знак доллара и круглые скобки: $ (команда)

Давайте будем гением компьютера.