Я создаю установщик MSI для программы и хочу позволить людям обновлять свою установку вместо того, чтобы всегда удалять / переустанавливать.
Я получил большую часть этого, но теперь я хочу, чтобы TARGETDIR (или каталог установки) автоматически находился там, где пользователь ранее установил приложение.
В Visual Studio в разделе «Условия запуска» -> «Поиск целевой машины» я нахожу запись реестра с именем ISUPGRADE, которая содержит ранее установленное местоположение (если оно установлено), но к нему добавлен файл /bin/XXXX.dll. Я хочу удалить конец этой строки и установить его как TARGETDIR, чтобы обновление было установлено там.
Я могу установить статическую строку как TARGETDIR (в CustomActions и ссылаясь на действие в InstallExecuteSequence и InstallUISequence), но я застрял в том, как установить ее с моей переменной.
Как я могу это сделать? Я использую Visual Studio для создания файла .msi и сценария Powershell (Orca для ручного / тестового редактирования) для внесения изменений в файл.