Как я могу получить значение свойства MSI во время удаления?
У меня есть установщик для приложения, в котором я использую некоторые пользовательские действия. Во время установки я использовал некоторые пользовательские свойства MSI, такие как DBHOST и др. чтобы определить хост базы данных.
И значением по умолчанию для этого является localhost.
Но я устанавливал это свойство DBHOST с некоторым другим значением (например, 192.168.1.3) через командную строку во время установки. и установка работала должным образом с собственностью, установленной через командная строка.
Но когда я использовал
MsiGetProperty
Функция в настройке, которая должна быть выполнена во время удаления, я получил значение по умолчанию (localhost) вместо значения, которое я установил через командную строку во время установки (192.168.1.3)
Может ли кто-нибудь помочь мне в этом?? почему это произошло.? Нужно ли делать что-то еще, чтобы получить такое же значение для свойства MSI во время удаления?Заранее Благодарю...
2 ответа:
Значение свойства не является постоянным, это означает, что при удалении он не будет помнить последнее значение, которое он имел во время установки, и он будет использовать его по умолчанию. Лучшее и более простое решение-записать это значение в запись реестра и извлечь его во время удаления с помощью поиска в реестре.
Поскольку вы упомянули DBHOST, если вы используете собственные SQL-скрипты InstallShield, они предварительно записали пользовательские действия в своей инфраструктуре, чтобы сохранить свойства, необходимые для подключения SQL для последующего использования во время ремонта, незначительных обновлений и удалений.
Имя свойства по умолчанию IS_SQLSERVER_SERVER.
Кстати, DBHOST довольно невинен, но осознайте, что некоторые сохраненные данные (такие как IS_SQLSERVER_USERNAME и IS_SQLSERVER_PASSWORD ) чувствительны и должны быть зашифровано, расшифровано. Установки делает это автоматически. Будет ли безопасность достаточно сильной для ваших нужд, зависит от вас.