Может ли проект мастера установки Visual Studio развертывать некоторые файлы только в том случае, если он находит определенный ключ в реестре (a)? Если нет, то, возможно, запустить другой файл установщика, когда присутствует этот определенный ключ reg (b)?
(a) Я пытался развернуть плагин winamp через файлы VS .msi. 2 проблемы:
- путь к папке {winamp}/plugins должен быть получен автоматически
- в случае неудачи пользователю должно быть представлено диалоговое окно для выбора места установки плагина.
(б) В попытке преодолеть (а) установщик NSIS использовался только для упаковки подключаемого модуля winamp .dll; однако это привело к еще одной проблеме:
- если у пользователя не установлен winamp, вспомогательный установщик, созданный NSIS, должен быть отменен вручную, и это неизменно приводит к сбою основного установщика, созданного VS (хотя это не должно быть, winamp не является существенной частью хорошего функционирования всего приложения Я развертываю)
- Мне не удалось двумя способами условно запустить подустановщик при обнаружении определенного ключа reg (пытался найти ключ ProgID Winamp). Первый сбой был из-за того, что ключ ProgID не найден даже на машинах с установленным винампом (вручную проверял ключ, он там был), а второй сбой был из-за того, что такой условный запуск нельзя было применить только к сабу -installer, но только для основного установщика.
Я думаю полностью отказаться от мастера проекта VS и просто перейти к мастеру установки NSIS ... но я бы не хотел учиться писать сценарии для развертывания каждого компонента моего решения. Любая версия GUI для него? Или я должен начать изучать Orca и использовать его в выходном MSI-файле VSPW? Или что ?
Спасибо