Использование настраиваемого действия для создания учетных записей пользователей на локальном компьютере
В этом примере показано, как использовать пользовательские действия для создания учетных записей пользователей на локальном компьютере при установке компонента. При удалении компонента удаляются учетные записи локальных пользователей, созданные пользовательским действием. Демонстрируется несколько настраиваемых действий, включая пользовательские действия для отложенного выполнения и откат настраиваемых действий.
Пример соответствует следующим спецификациям.
- Установка создает учетные записи пользователей только в том случае, если используется Windows 2000.
- При установке учетные записи пользователей создаются только в том случае, если компонент устанавливается для локального запуска. Это исключает создание учетных записей пользователей во время восстановления или переустановки компонента.
- Установщик удаляет учетные записи при удалении компонента.
- Сведения об учетной записи пользователя считываются из пользовательской таблицы в базе данных установки и не жестко закодируются в коде пользовательского действия.
- Поскольку для создания или удаления учетных записей пользователей требуются повышенные привилегии, некоторые пользовательские действия должны быть способны вносить в систему изменения, требующие повышенных привилегий. Эти настраиваемые действия должны быть отложенными настраиваемыми действиями, которые выполняются в скрипте выполнения.
- Каждая учетная запись имеет настраиваемое действие отката, чтобы гарантировать удаление учетной записи при откате установки компонента. Это не включает откат удаления учетной записи во время удаления компонента.
- Пользовательские действия отправляют сообщения ActionData для каждой созданной или удаленной учетной записи. Сюда не входит предоставление сообщений о ходе выполнения для ProgressBar.
- Пользовательские действия сообщают об ошибке, если не удается создать учетную запись.
- Пароль для учетной записи получается при взаимодействии пользователя с пользовательским интерфейсом или в случае установки на уровнях базового пользовательского интерфейса или none user interface в виде свойства, передаваемого в командной строке.
- Конфиденциальные данные скрыты из файла журнала.
Пример включает гипотетический компонент с именем TestAccount. В следующих разделах предполагается, что вы уже создали ресурсы, необходимые для TestAccount, и создали таблицы Feature, Component, File, Directory и FeatureComponents в образце базы данных, необходимой для установки этого компонента. Дополнительные сведения см. в разделе Пример установки.
В следующих разделах содержатся сведения о создании необходимых настраиваемых действий и их добавлении в пакет установки.
- Создание пользовательских действий
- Добавление настраиваемой таблицы CustomUserAccounts
- Создание таблицы CustomAction
- Создание таблиц ActionText и Ошибок
- Создание таблицы InstallExecuteSequence
- Создание пользовательского интерфейса для ввода пароля
- Защита установки