WIX: Как обнаружить, если стороннее приложение установлено?

Несколько разных мыслей об этой теме:

  1. нет ничего небезопасного ни об одном из самих итераторов хеша. То, что небезопасно, изменяет ключи хеша, в то время как Вы выполняете итерации по нему. (Совершенно безопасно изменить значения.) Единственный потенциальный побочный эффект, о котором я могу думать, состоит в том, что values псевдонимы возвратов, что означает, что изменение их изменит содержание хеша. Это дизайном, но не может быть тем, что Вы хотите при некоторых обстоятельствах.
  2. John's принятый ответ хорош за одним исключением: документация является четкой, которого не безопасно добавить ключи при итерации по хешу. Это может работать на некоторые наборы данных, но перестанет работать для других в зависимости от порядка хеша.
  3. , Как уже отмечено, безопасно удалить последний ключ, возвращенный each. Это не верно для keys, как each итератор в то время как keys возвраты список.

6
задан grigoryvp 19 October 2009 в 15:53
поделиться

1 ответ

Это действительно зависит от приложения. Большинство приложений публикуют раздел реестра, который можно использовать для их обнаружения. В этом случае вам просто понадобится элемент RegistrySearch , никаких дополнительных действий не требуется. Если приложение было установлено через MSI, иногда лучше использовать ComponentSearch .

7
ответ дан 17 December 2019 в 00:11
поделиться
Другие вопросы по тегам:

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