Uso de Windows Installer con un servidor de Terminal Server
Lo siguiente puede afectar a las instalaciones de Windows Installer al usar un servidor de Terminal Server. Los desarrolladores de instalación siempre deben comprobar que su paquete de Windows Installer se instala según lo previsto cuando los usuarios también usan un servidor de Terminal Server.
- En sistemas operativos anteriores a Windows Server 2008 y Windows Vista, la directiva del sistema EnableAdminTSRemote debe establecerse para permitir que los administradores realicen instalaciones en la sesión de cliente. A partir de Windows Server 2008 y Windows Vista, la directiva EnableAdminTSRemote ya no tiene ningún efecto. Independientemente de su configuración, los administradores y los no administradores pueden realizar una instalación en la sesión de cliente o en la sesión de consola. Los administradores y los no administradores siempre pueden realizar instalaciones de Windows Installer en la sesión de consola.
- Windows Installer impide la instalación en el contexto de instalación por usuario si la directiva del sistemaDisableUserInstalls está establecida en 1. En este caso, el instalador omite todas las aplicaciones registradas como por usuario y solo busca las aplicaciones registradas por máquina.
- Cuando un administrador realiza una instalación en una sesión de cliente de un servidor de terminal que se hospeda en Windows 2000, la instalación debe usar un trazado UNC y no una letra de unidad asignada.
Los desarrolladores deben cumplir estas instrucciones al desarrollar un componente de Windows Installer que se pueda usar con un servidor de Terminal Server.
- Escriba toda la información del registro HKCU en la parte del registro HKCU\Software.
- No se recomienda almacenar información de configuración en archivos INI.
- Escriba información por usuario en el registro cuando la aplicación se ejecute por primera vez y no en el momento de la instalación. Si debe escribir información por usuario en el registro en el momento de la instalación, separe la información por usuario y por equipo en distintos componentes de Windows Installer. Cree el paquete de forma que el instalador no intente validar y reparar los componentes que contienen información por usuario cuando se instala la aplicación.
- Un paquete que se usa solo para las instalaciones por máquina debe escribir variables de entorno en el entorno del equipo incluyendo * en la columna Name de la tabla Environment. Si el paquete se puede usar para instalaciones por usuario o instalaciones por máquina, use dos componentes. Incluya el componente por usuario en la Tabla Component y escriba la configuración de usuario en la Tabla Environment. Incluya el componente por equipo en la Tabla de Component y escriba la configuración del equipo en la Tabla Environment. Controle qué componente se instala mediante instrucciones condicionales basadas en la propiedad ALLUSERS en el campo Condition de la Tabla Component.
- Al realizar instalaciones por máquina desde un servidor de Terminal Server, el instalador escribe variables de entorno por usuario en HKCU\.Default\Environment. Como el servidor de Terminal Server no replica esta sección del registro, la instalación no establece las variables de entorno por usuario.
- Como un servidor se puede configurar para evitar que los usuarios reparen las aplicaciones, su aplicación debe controlar correctamente el caso de la falta de claves de registro.
Lo siguiente se aplica cuando se instala un paquete de Windows Installer que usa acciones personalizadas DLL, EXE o Script en el contexto de instalación por equipo en un servidor de Terminal Server. En este caso, el instalador establece la propiedad TerminalServer.
- Las acciones personalizadas diferidas se ejecutan en el contexto del sistema local a menos que la acción tenga el atributo msidbCustomActionTypeTSAware. Esto es cierto incluso si la acción personalizada suplanta al usuario en un sistema que no es un servidor de Terminal Server. Tenga en cuenta que si una acción personalizada que tiene el atributo msidbCustomActionTypeTSAware cambia el registro del usuario, el instalador no garantiza automáticamente que esos cambios también se realicen en el registro de todos los usuarios del equipo.
- Cualquier operación de registro en una acción personalizada diferida que lee del subárbol del registro HKCU ve el subárbol del registro predeterminado del sistema y no el del usuario actual.
- El instalador detecta todas cualquier operación del registro en una acción personalizada diferida que escribe en HKCU\Software y se copian en cada usuario del equipo en el siguiente inicio de sesión del usuario.
- Cualquier operación del registro en una acción personalizada diferida que escribe en HKCU, pero que no está bajo la clave del Registro de HKCU\Software, no se detectan mediante el instalador ni se copian.
Para obtener más información, consulte Servicios de Escritorio remoto (Servicios de Escritorio remoto) en el kit de desarrollo de software (SDK) de Microsoft Windows.
Temas relacionados