Установщик WiX / Windows: переустановите в новую папку - PullRequest
1 голос
/ 12 марта 2010

1. Я использую WiX для создания установщика и хотел бы реализовать следующее поведение: Если пользователь запускает установщик msi для продукта и продукт уже установлен, то мастер работает аналогично чистой (первоначальной) установке, за исключением некоторых вещей (например, экран с лицензионным соглашением опущен). Мастер должен позволить, например, изменить папку установки, выбрать, следует ли поместить ярлык на рабочем столе, ... Я пытался сделать:

<Publish Event="ReinstallMode" Value="amus"><![CDATA[INSTALL_MODE = "Change"]]></Publish>
<Publish Event="Reinstall" Value="ALL"><![CDATA[INSTALL_MODE = "Change"]]></Publish>

Но после завершения установки: продукт находится в той же папке, куда он был установлен впервые; значок на рабочем столе в том же состоянии, что и после первой установки. MSDN говорит: «Не пытайтесь изменить путь к целевому каталогу, если некоторые компоненты, которые используют этот путь, уже установлены для текущего пользователя или для другого пользователя». Есть ли способ переустановить в другом forlder и добавить / удалить значок на рабочем столе при переустановке?

2. Нормально ли использовать один и тот же KeyPath для некоторых компонентов? Например, те же значения реестра для ярлыков DeskTop и меню программ? MSDN говорит: «Два компонента не могут использовать одно и то же значение пути ключа». Но компиляция и проверка идут хорошо. И я не обнаружил проблем с использованием тех же путей.

1 Ответ

1 голос
/ 13 марта 2010
  1. Я не уверен, что правильно понял ваши требования, но, похоже, Major Upgrades охватывает необходимую вам функциональность.

  2. Взгляните на эту древнюю ;-), но все еще ценную запись в блоге Роба Меншинга. Концепция KeyPath четко объяснена на примере.

Надеюсь, это поможет.

...