a = 123456
b = str(a)
c = []
for digit in b:
c.append (int(digit))
print c
Установщик 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 компонентов также должны быть изменены). Концепция таблицы RemoveFile может использоваться для удаления файлов при установке и / или удалении, которые не были зарегистрированы как компоненты (например, сгенерированные файлы).
ОБНОВЛЕНИЕ (август 2018 г.):
Изменение идентификатора компонента и использование действительного GUID должно исправить ситуацию.