Значительная модернизация Wix

Попробуйте проверить в диалоговом окне «Переформатировать файл» (Ctrl + Alt + Shift + L), снимите флажок «Оптимизировать импорт», если он уже установлен.

В качестве альтернативы, вы можете добавить `PyUnresolvedReferences ':

# noinspection PyUnresolvedReferences
import A

# noinspection PyUnresolvedReferences
import B

Хотя есть некоторые сообщения о проблемах со ссылкой, https://youtrack.jetbrains.com/issue/PY-19837 [ 111].

11
задан user38309 28 January 2009 в 17:46
поделиться

3 ответа

Самый прямой путь состоял бы в том, чтобы запланировать Ваш RemoveExistingProducts после InstallExecute или InstallFinalize. Тем путем файл конфигурации не удален и затем установлен снова (как то, если Вы планируете перед InstallInitialize). Конечно, планирование RemoveExistingProduct так поздно означает, что необходимо быть очень осторожны относительно Правил Компонента.

Мой любимый должен рассматривать конфигурацию как "пользовательские данные" и не иметь installtouch это вообще. Вы поставляете значения по умолчанию с приложением, но любые изменения внесены пользователем в их профиле частного пользователя. Вытаскивает Вас из всех видов противных проблем миграции, которые просто не решены хорошо во время установки.

17
ответ дан 3 December 2019 в 05:36
поделиться

Вы когда-либо хотите перезаписанный? Если не в случаях как это я присваиваю файлы конфигурации их собственным компонентам и отмечаю их как Никогда Перезапись. Таким образом, обновления не перезапишут файл, но удаления удалят его.

например.

<Component Id="myComp" Guid="myguid" NeverOverwrite="yes">
4
ответ дан 3 December 2019 в 05:36
поделиться

Можно использовать свойство UPGRADINGPRODUCTCODE, чтобы проверить, обновляете ли Вы. Мы используем это, чтобы определить, должны ли мы выполнить наше пользовательское действие 'уборки':

<Custom Action="" After="CleanUpFiles">
  <![CDATA[REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE]]>
</Custom>

Я действительно соглашаюсь с Rob, в котором конфигурация является пользовательскими данными, хранившими в их папках AppData и никогда не создаваемыми MSI. Вместо этого это установлено, делают значение по умолчанию (который мы храним как конфигурация по умолчанию в файлах программ), и скопированный самим приложением. Но мы не хотим оставлять эти вещи, создающие помехи машине пользователя, если они хотят удалить наш продукт, таким образом, мы сделали CleanUpFiles, который ищет HD любой оставленный позади мусор.

0
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: