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