Uso de una acción personalizada para crear cuentas de usuario en un equipo local
En este ejemplo se muestra cómo usar acciones personalizadas para crear cuentas de usuario en un equipo local al instalar un componente. La eliminación de un componente quita las cuentas de usuario locales que la acción personalizada haya creado. Se muestran varias acciones personalizadas, entre las que se incluyen las acciones personalizadas de ejecución diferida y las acciones personalizadas de reversión.
El ejemplo cumple las siguientes especificaciones.
- La instalación crea cuentas de usuario solo si se ejecuta Windows 2000.
- La instalación crea cuentas de usuario solo si el componente se está instalando para ejecutarse localmente. Esto impide la creación de cuentas de usuario durante la reparación o reinstalación del componente.
- El instalador quita las cuentas cuando se elimina el componente.
- La información de la cuenta de usuario se lee de una tabla personalizada en la base de datos de instalación y no está codificada de forma rígida en el código de la acción personalizada.
- Dado que la creación o eliminación de cuentas de usuario requiere privilegios elevados, algunas de las acciones personalizadas deben ser capaces de realizar cambios en el sistema que requieren privilegios elevados. Estas acciones personalizadas deben ser acciones personalizadas diferidas que se ejecutan cuando se encuentran en el script de ejecución.
- Cada cuenta tiene una acción personalizada de reversión para asegurarse de que la cuenta se quita en la reversión de la instalación del componente. Esto no incluye la reversión de una eliminación de cuenta durante la eliminación de un componente.
- Las acciones personalizadas envían mensajes de ActionData para cada cuenta que se crea o elimina. Esto no incluye proporcionar mensajes de progreso para ProgressBar.
- Las acciones personalizadas notifican un error si no se puede crear una cuenta.
- La contraseña de la cuenta se obtiene a través de la interacción del usuario con la interfaz de usuario, o en el caso de una instalación en los niveles de interfaz de usuario Básico o Ninguno, como una propiedad que se pasa en la línea de comandos.
- Los datos confidenciales se ocultan en el archivo de registro.
El ejemplo incluye un componente hipotético denominado TestAccount. En la explicación de las secciones siguientes se supone que ya ha creado los recursos necesarios para TestAccount y que ha creado las tablas Feature, Component, File, Directory y FeatureComponents de la base de datos de ejemplo necesaria para instalar este componente. Para más información, consulte Un ejemplo de instalación.
Los temas siguientes contienen información sobre cómo crear acciones personalizadas necesarias y agregarlas a un paquete de instalación.
- Creación de acciones personalizadas
- Adición de una tabla CustomUserAccounts personalizada
- Creación de la tabla CustomAction
- Creación de las tablas ActionText y Error
- Creación de la tabla InstallExecuteSequence
- Creación de la interfaz de usuario para la entrada de contraseña
- Protección de la instalación