Удалите GUID = “” компонент, установленный с WiX

a = 123456
b = str(a)
c = []

for digit in b:
    c.append (int(digit))

print c
5
задан Stein Åsmul 24 July 2014 в 05:40
поделиться

2 ответа

Установщик Windows фактически поддерживает концепцию пустого GUID . Это означает «установить, но не регистрировать компонент»: http://msdn.microsoft.com/en-us/library/aa368007 (VS.85) .aspx (запись ComponentId объясняет, что происходит с нулевым GUID).

Я только что тестировал WIX, и похоже, что он учитывает пустую запись GUID (т. Е. Никакой GUID не создается автоматически). Запомните правило 1: 1 между абсолютным путем / путем ключа и GUID :

  • Если вы измените GUID, для пути ключа компонента должен использоваться новый абсолютный путь.
  • Если вы измените абсолютный путь (например, переименовав файл или переместив его), вы должны изменить GUID.

Таким образом, ссылка на GUID учитывает путь ключа установки компонента, а не файл, который может перемещаться, но тогда файл имеет новую идентификацию через новый GUID (представьте себе два файла с одинаковыми именами в разных папках - это разные файлы, разные идентификационные данные).

Очистка испорченного подсчета ссылок GUID может быть немного запутанной. Я считаю, что если я могу изменить имя файла, это эффективно устранит проблему. Я также создаю новый guid и, следовательно, разрываю ссылку на счетчик ссылок старого guid. Вы также можете переименовать папку установки (что в идеале означало бы, что все GUID компонентов также должны быть изменены). Концепция таблицы RemoveFile может использоваться для удаления файлов при установке и / или удалении, которые не были зарегистрированы как компоненты (например, сгенерированные файлы).


ОБНОВЛЕНИЕ (август 2018 г.):

5
ответ дан 14 December 2019 в 19:18
поделиться

Изменение идентификатора компонента и использование действительного GUID должно исправить ситуацию.

0
ответ дан 14 December 2019 в 19:18
поделиться
Другие вопросы по тегам:

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