MSI.GetComponentPath
Описание
Вызывает функцию MsiGetComponentPath для получения полного пути к установленному компоненту. Если путь ключа компонента является ключом реестра, тогда возвращается ключ реестра.
ПараметрыProductCode
(строка) "Код продукта" обслуживаемого продукта. Эта строка должна быть строкой идентификатора, заключенной в фигурные скобки, например: "{78B82B0B-9AD9-40C0-B994-F72C21B52723}".
ComponentGUID
(строка) Идентификатор (GUID) установленного компонента. Эта строка должна быть строкой идентификатора, заключенной в фигурные скобки, например: "{1638E94C-DA3C-44BD-88FB-5CC76B59BE46}".
ВозвратResultVariable
(таблица) Возвращает значение nil, если вызов неудачен или, если действие успешно, таблицу со следующими индексами:
InstallState(число) Состояние установки компонента представленное одним из следующих значений:
ComponentPath(строка) Путь к компоненту. Если произошла ошибка при получении пути к компоненту (то есть, параметр InstallState возвращает состояние INSTALLSTATE_UNKNOWN), тогда это значение таблицы будет равно nil. Если компонент является ключом реестра, корневой раздел реестра будет представлен цифрами. Если он является путем к подразделу реестра, в конце пути ключа будет стоять обратная косая черта (бакслэш). Если же это путь к значению ключа реестра, обратной косой черты (бакслэш) в конце пути ключа не будет. Например, путь реестра на 32-битной операционной системе HKEY_CURRENT_USER\SOFTWARE\Microsoft возвращается как "01:\SOFTWARE\Microsoft\". Разделы реестра возвращаемые на 32-битной операционной системе определяются как показано в таблице ниже.Примечание: На 64-битных операционных системах, для отличия от путей ключей реестра на 32-битных операционных системах, к числовому значению раздела реестра в этой таблице будет прибавлено значение 20. Например, если путь компонента является ключом реестра HKEY_CURRENT_USER\SOFTWARE\Microsoft на 64-битной операционной системе, будет возвращен как "21:\SOFTWARE\Microsoft\".
Если действие неудачно, возвращается значение nil. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему. При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия
ПримерыПример 1-- Get the component path. -- Получаем путь к компоненту. tbComponent = MSI.GetComponentPath("{78B82B0B-9AD9-40C0-B994-F72C21B52723}", "{1638E94C-DA3C-44BD-88FB-5CC76B59BE46}"); -- Check if it was successful and that the component is installed locally. -- Проверяем успешным ли было действие и что компонент установлен локально. if (tbComponent) then if (tbComponent.InstallState == INSTALLSTATE_LOCAL) then Dialog.Message("Information", "The component is installed locally."); end else -- Show a message with the error. -- Показываем сообщение с кодом ошибки. nError = Application.GetLastError(); Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION); endСмотрим локально ли установлен компонент "{1638E94C-DA3C-44BD-88FB-5CC76B59BE46}" и показываем информационное сообщение. Если действие не выполняется показываем диалоговое окно с сообщением об ошибке.
Смотрите также: Связанные действия
|