Как я могу получить значение свойства MSI во время удаления?


У меня есть установщик для приложения, в котором я использую некоторые пользовательские действия. Во время установки я использовал некоторые пользовательские свойства MSI, такие как DBHOST и др. чтобы определить хост базы данных.

И значением по умолчанию для этого является localhost.

Но я устанавливал это свойство DBHOST с некоторым другим значением (например, 192.168.1.3) через командную строку во время установки. и установка работала должным образом с собственностью, установленной через командная строка.

Но когда я использовал

    MsiGetProperty

Функция в настройке, которая должна быть выполнена во время удаления, я получил значение по умолчанию (localhost) вместо значения, которое я установил через командную строку во время установки (192.168.1.3)

Может ли кто-нибудь помочь мне в этом?? почему это произошло.? Нужно ли делать что-то еще, чтобы получить такое же значение для свойства MSI во время удаления?

Заранее Благодарю...

2 2

2 ответа:

Значение свойства не является постоянным, это означает, что при удалении он не будет помнить последнее значение, которое он имел во время установки, и он будет использовать его по умолчанию. Лучшее и более простое решение-записать это значение в запись реестра и извлечь его во время удаления с помощью поиска в реестре.

Поскольку вы упомянули DBHOST, если вы используете собственные SQL-скрипты InstallShield, они предварительно записали пользовательские действия в своей инфраструктуре, чтобы сохранить свойства, необходимые для подключения SQL для последующего использования во время ремонта, незначительных обновлений и удалений.

Имя свойства по умолчанию IS_SQLSERVER_SERVER.

Кстати, DBHOST довольно невинен, но осознайте, что некоторые сохраненные данные (такие как IS_SQLSERVER_USERNAME и IS_SQLSERVER_PASSWORD ) чувствительны и должны быть зашифровано, расшифровано. Установки делает это автоматически. Будет ли безопасность достаточно сильной для ваших нужд, зависит от вас.