Установить каталог установки для установщика MSI с манипулированием строк

Я создаю установщик MSI для программы и хочу, чтобы люди могли обновить свою установку, а не всегда удалять / переустанавливать.

Я получил большую часть этого, но теперь я хочу автоматически установить TARGETDIR (или каталог установки), где бы пользователь не устанавливал приложение.

В Visual Studio в разделе Условия запуска -> Поиск целевой машины я нахожу запись реестра с именем ISUPGRADE, которая содержит ранее установленное расположение (если оно установлено), но к которому добавлен файл /bin/XXXX.dll. Я хочу удалить конец этой строки и установить его как TARGETDIR, чтобы обновление установилось там.

Я могу установить статическую строку как TARGETDIR (в CustomActions и ссылаться на действие в InstallExecuteSequence и InstallUISequence), но я застрял в том, как установить ее с моей переменной.

Как я могу это сделать? Я использую Visual Studio для создания MSI-файла и сценария Powershell (Orca для ручного / тестового редактирования) для внесения изменений в файл.

1 ответ

Split-Path

Командлет Split-Path возвращает только указанную часть пути, такую ​​как родительская папка, подпапка или имя файла

Get-Help Split-Path

Другие вопросы по тегам