MSI.ReinstallProduct

boolean MSI.ReinstallProduct ( string ProductCode,
string ReinstallMode )
Примеры

Описание

Вызывает функцию MsiReinstallProduct для переустановки продукта.

Параметры

ProductCode

(строка) "Код продукта" для переустановки. Эта строка должна быть строкой идентификатора, заключенной в фигурные скобки, например: "{78B82B0B-9AD9-40C0-B994-F72C21B52723}".

ReinstallMode

(число) Режим переустановки. Для объединения значений используется символ "плюс" ("+"). Выбираем один или несколько значений из следующих:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
REINSTALLMODE_FILEMISSING2Переустановка только в случае отсутствия файла.
REINSTALLMODE_FILEOLDERVERSION4Переустановка в случая отсутствия файла или более старой версии.
REINSTALLMODE_FILEEQUALVERSION8Переустановка в случая отсутствия файла или в случае равной или более старой версии.
REINSTALLMODE_FILEEXACT16Переустановка в случая отсутствия файла или другой версии.
REINSTALLMODE_FILEVERIFY32Проверка значений контрольной суммы и переустановка файла если они отсутствуют или повреждены. Этот флаг восстанавливает только файлы, которые имеют пункт msidbFileAttributesChecksum в колонке Attributes таблицы File.
REINSTALLMODE_FILEREPLACE64Принудительная переустановка всех файлов несмотря на контрольную сумму или версию.
REINSTALLMODE_MACHINEDATA128Переписывает все требуемые записи реестра из Registry Table которые идут к кусту реестра HKEY_LOCAL_MACHINE или HKEY_CLASSES_ROOT. Переписывает всю информацию из Class Table, Verb Table, PublishComponent Table, ProgID Table, MIMET Table, Icon Table, Extension Table, и AppID Table независимо от машины или назначения пользователя. Переустановка всех подходящих компонентов. При переустановке приложения эта опция запускает действия RegisterTypeLibraries и InstallODBC.
REINSTALLMODE_USERDATA256Переписывает все требуемые записи реестра из Registry Table которые идут к кусту реестра HKEY_CURRENT_USER или HKEY_USERS.
REINSTALLMODE_SHORTCUT512Переустановка всех ярлыков и выполнение повторного кэширования всех иконок, перезаписывая все существующие ярлыки и иконки.
REINSTALLMODE_PACKAGE1024Использовать для запуска из пакета источника и выполняет повторное кэширование локального пакета. Не использовать для первой установки приложения или элемента.

Возврат

ResultVariable

(логический) Возвращает значение истина - true если действие было успешным или значение ложь - false, если оно неудачно. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

bResult = MSI.ReinstallProduct("{78B82B0B-9AD9-40C0-B994-F72C21B52723}", REINSTALLMODE_FILEMISSING);

if (not bResult) then
    nError = Application.GetLastError();
    Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
end
Переустанавливаем продукт, если отсутствует файл и показываем сообщение об ошибке, при неудачном действии.
Смотрите также: Связанные действия