Як пояснив Роб Меншинг :
KeyPath для компонента - це єдиний ресурс, який інсталятор Windows використовує, щоб визначити, чи компонент "існує" на машині.
Це означає, що коли Windows Installer вирішить, чи встановлювати ваш компонент, він спочатку подивиться, чи вже присутній ресурс клавіатури. Якщо це так, жоден з ресурсів компонента не встановлений.
Наявність ресурсу keypath також визначає, пошкоджений чи зниклий компонент під час "ремонту" MSI.
Коли ресурсом клавіатури є файл з версією, інсталятор Windows вважатиме, що він існує лише у тому випадку, якщо він знайде файл з рівною або вищою версією.
У вашому конкретному прикладі у вас є компонент, який видаляє папку при видаленні. Цей компонент буде встановлений лише в тому випадку, якщо вказаний ключ реєстру ще не існує. Додавання ключа реєстру для використання в якості шляху до ключів - це загальна хитрість, коли вам потрібен шлях для компонента, який встановлює ресурси, які не можуть бути використані як шлях до клавіатури, як ярлик .