Windows Installer y requisitos para el logotipo
El logotipo “Certified for Microsoft Windows” identifica los productos cuyo cumplimiento con la especificación de aplicaciones para Windows se ha comprobado con pruebas de entidades independientes. Esta especificación la desarrolló Microsoft en cooperación con clientes y otros desarrolladores con el fin de proporcionar un plan de desarrollo para crear aplicaciones confiables y manejables. Los fabricantes de software que cumplen la especificación son aptos para obtener el logotipo "Certified for Microsoft Windows" y obtienen licencia para usar el logotipo en el empaquetado de sus productos, la publicidad y el material de marketing.
Si desea obtener más información sobre la certificación para Windows Vista, Windows XP y Windows Server 2008 para sus aplicaciones, consulte Microsoft Partner Network.
Si va a crear un paquete de instalación para una aplicación, puede aprovechar la funcionalidad de Microsoft Windows Installer para satisfacer varios de los requisitos para la certificación. En la tabla siguiente se proporcionan vínculos a información de la documentación de Windows Installer sobre algunos de los requisitos para la certificación. Tenga en cuenta que no todos los requisitos para la certificación que se describen en la especificación de la aplicación dependen de Windows Installer.
Requisito para la certificación | Consulte las secciones siguientes |
---|---|
1.1 La aplicación debe realizar la funcionalidad principal y mantener la estabilidad. |
Si proporciona un paquete de instalación, la aplicación puede usar el servicio instalador disponible en todas las plataformas Windows de 32 bits. El uso del instalador puede mejorar la funcionalidad y la estabilidad de la aplicación. Consulte Resistencia, Introducción a Windows Installer y Documentación del plan de desarrollo de Windows Installer. |
1.3 La aplicación debe admitir nombres de archivo largos y rutas UNC. |
El instalador admite la instalación en y desde una ruta UNC y una unidad de red, y siempre usa los nombres de archivo largos que se proporcionan en el paquete, excepto si se establece la propiedad SHORTFILENAMES o si el volumen de destino no admite nombres de archivo largos. Consulte Filename, File (tabla), Directory (tabla), SHORTFILENAMES (propiedad). |
1.5 La aplicación no debe leer ni escribir en Win.ini, System.ini, Autoexec.bat o Config.sys. |
El programa de instalación debe agregar entradas al Registro, no a los archivos Win.ini, System.ini, Autoexec.bat o Config.sys. Windows Installer admite claves informativas en el Registro. Cuando la aplicación usa el instalador, estas claves del Registro están disponibles como propiedades del instalador. Puede crear el paquete para la aplicación de forma que sea fácil comprobar y establecer los valores de estas claves. Si la aplicación usa información que no desea incluir en el Registro, cree un archivo de inicialización privado y póngalo en el directorio con los archivos ejecutables de la aplicación. Puede administrar fácilmente la instalación de un archivo .ini privado, así como agregar o quitar información de archivos .ini usando Windows Installer para instalar la aplicación. Consulte Modificación del Registro, Grupo de tablas del Registro, Registry (tabla), RemoveRegistry (tabla), WriteRegistryValues (acción), RemoveRegistryValues (acción), Clave del Registro Uninstall, Propiedades, File (tabla), Directory (tabla), Uso de la tabla Directory, IniFile (tabla), RemoveIniFile (tabla), IniLocator (tabla), WriteIniValues (acción), RemoveIniValues (acción), RemoveIniFile (tabla). |
1.7 La aplicación debe comprobar correctamente la versión de Windows. |
Cuando prepare un paquete de instalación para una aplicación, debe incluir información sobre los requisitos de versión del sistema operativo del producto. Al inicializarse, el instalador establece automáticamente determinadas propiedades en la versión del sistema operativo actual. El programa de instalación puede usar estas propiedades del instalador para proporcionar una comprobación sencilla de la versión. Consulte Propiedades, Version9X (propiedad), VersionDatabase (propiedad), VersionNT (propiedad), WindowsBuild (propiedad), ProductCode (propiedad), ProductName (propiedad), ProductVersion (propiedad), Flujo de información de resumen, Revision Number Summary (propiedad). |
2.1 La aplicación debe instalarse con un paquete de Windows Installer que supere las pruebas de validación. |
Puede comprobar que el paquete de instalación supera las pruebas de validación usando un conjunto específico de reglas de validación conocidas como evaluadores de coherencia interna (ICE, por sus siglas en inglés). Estos ICE se encuentran en el archivo Logo.cub. Para obtener la certificación, un paquete de instalación no debe producir ningún error al validarlo con estas reglas. Las advertencias son aceptables, pero, en general, deberían corregirse. El SDK de Windows Installer incluye los archivos Logo.cub, Darice.cub y Mergemod.cub. Los ICE del archivo Logo.cub se incluyen en el archivo Darice.cub. Si el paquete supera la validación con Darice.cub, también la superará con Logo.cub. Para obtener más información, consulte Validación de paquetes. |
2.2 El paquete de instalación usado para instalar la aplicación debe seguir las reglas para crear componentes. |
Un componente del instalador es una parte de una aplicación que siempre se instala o desinstala como una unidad. Hay un conjunto de reglas que le ayudarán a decidir cuál es la mejor manera de dividir la aplicación en componentes. Si los componentes del paquete de instalación están definidos correctamente, el instalador puede instalarlos y desinstalarlos de forma segura. Consulte Organización de aplicaciones en componentes, Componentes y características, Cambio del código de componente, ¿Qué ocurre si se infringen las reglas de componentes?, Uso de características y componentes, Component (tabla). |
2.3 El paquete de instalación de la aplicación debe identificar los componentes compartidos. |
Si proporciona un paquete de instalación que organiza correctamente la aplicación en componentes y establece msidbComponentAttributesSharedDllRefCount en la tabla Component, Windows Installer puede hacer un seguimiento de los componentes compartidos usando el recuento de referencias de la clave del Registro SharedDLLs para el componente. Si no usa el instalador, la aplicación debe hacer un seguimiento del uso de archivos DLL compartidos incrementando un contador de uso para el archivo DLL en la clave del Registro SharedDLLs. Para obtener más información, consulte Directory (table), Uso de la tabla Directory, Component (table). Para obtener una explicación del bit SharedDllRefCount, consulte Component (tabla) y Organización de aplicaciones en componentes. |
2.4 La aplicación debe instalarse en la carpeta Archivos de programa de forma predeterminada. |
Al inicializarse, el instalador establece una propiedad en la ruta de acceso completa de la carpeta Archivos de programa. Cuando prepare el paquete de instalación, puede especificar que el instalador instale la aplicación en esta carpeta de forma predeterminada. Si también incluye una interfaz de usuario en el paquete, el instalador puede proporcionar a los usuarios una opción para seleccionar otra ubicación de instalación. Para obtener más información, consulte Directory (table), Uso de la tabla Directory, TARGETDIR (propiedad), MsiSetTargetPath, Propiedades, ProgramFilesFolder (propiedad). |
2.5 La aplicación debe ser compatible con la utilidad Agregar o quitar programas. |
Puede proporcionar toda la información que necesita la utilidad Agregar o quitar programas del Panel de control estableciendo los valores de determinadas propiedades del instalador en el paquete de Windows Installer de la aplicación. Al establecer estas propiedades, se escriben automáticamente los valores correspondientes en el Registro. Consulte Propiedades, Propiedades necesarias, ProductName (propiedad), ARPINSTALLLOCATION (propiedad), Manufacturer (propiedad), ProductVersion (propiedad). |
2.6 La aplicación debe asegurarse de que el paquete de Windows Installer admita anuncios. |
Facilite los anuncios organizando la aplicación para ello e incluyendo toda la información necesaria para los anuncios en el paquete de Windows Installer de la aplicación. Para obtener más información, consulte Anuncio, Instalación a petición, Publicación de productos, características y componentes, Compatibilidad de la plataforma con anuncios, Componentes y características, AdvtExecuteSequence sugerido, AdvtUISequence sugerido, Advertise (propiedad), Advertise (acción), PublishProduct (acción), Feature (tabla), Shortcut (tabla), Class (tabla), Extension (tabla), Icon (tabla), MIME (tabla), ProgId (tabla), TypeLib (tabla), Verb (tabla), MsiConfigureFeature, MsiConfigureProduct. |
2.7 El paquete de instalación de la aplicación debe garantizar la funcionalidad para una desinstalación correcta. |
Si utiliza el instalador para instalar la aplicación, no es necesario crear un desinstalador aparte. Puede crear un paquete de instalación que permita al instalador instalar, desinstalar y reparar la aplicación. Consulte Introducción a Windows Installer, Organización de aplicaciones en componentes, Acciones estándar, Acerca de las acciones estándar, Uso de acciones estándar, Referencia de acciones estándar, Instalación de una aplicación, MsiInstallProduct, INSTALL (acción). |
3.1 En Windows 2000 no intente reemplazar archivos protegidos con la Protección de archivos de Windows. |
Windows Installer se adhiere a la Protección de archivos de Windows (WFP) cuando instala archivos esenciales del sistema en Windows 2000. Windows Installer nunca intenta instalar ni reemplazar un archivo protegido. Si una instalación desatendida de una aplicación modifica un archivo del sistema protegido, WFP restaura el archivo a la versión verificada. Para obtener más información, consulte Uso de Windows Installer y Protección de recursos de Windows. |
3.2 Los creadores que escriben nuevos componentes redistribuibles deben usar técnicas de uso compartido en paralelo para que sus componentes se puedan instalar en el directorio de la aplicación. |
Los creadores de paquetes de Windows Installer pueden especificar que el instalador copie los archivos compartidos (normalmente, archivos DLL compartidos) de una aplicación en la carpeta de esa aplicación en lugar de en una ubicación compartida. Después, solo la aplicación utiliza este conjunto de archivos (DLL) privado. Consulte Componentes aislados. |
3.3 Para Windows 2000 y Windows 98 Second Edition, los archivos DLL en paralelo de los que depende la aplicación deben instalarse en el directorio de la aplicación: |
Los creadores de paquetes de Windows Installer pueden especificar que el instalador copie los archivos compartidos (normalmente, archivos DLL compartidos) de una aplicación en la carpeta de esa aplicación en lugar de en una ubicación compartida. Después, solo la aplicación utiliza este conjunto de archivos (DLL) privado. Consulte Componentes aislados o Instalación de componentes aislados. |
4.3 La aplicación debe degradarse correctamente si se deniega el acceso. |
El objetivo de este requisito es asegurarse de que, si se deniega el acceso del usuario a los recursos, se produce un error en la aplicación de una manera que mantiene un entorno seguro. Windows Installer solo controla los privilegios durante la instalación. La aplicación debe controlar los privilegios en tiempo de ejecución. El instalador puede establecer determinadas propiedades en la inicialización en el nivel de privilegios del usuario o en un nivel especificado por la directiva del sistema. Después, puede crear el paquete de Windows Installer para que el instalador compruebe los privilegios de acceso del usuario antes de que comience la instalación. Puede crear el paquete de instalación de forma que el instalador determine si hay suficiente espacio en disco. Si crea una interfaz de usuario (UI) para el paquete de la aplicación, puede mostrar opciones para los usuarios que agotan el espacio en disco. Si la instalación no se realiza correctamente, el instalador puede cambiar al modo de reversión y restaurar automáticamente el estado original del equipo. Para obtener más información, consulte Introducción a Windows Installer, Resistencia, Resistencia de origen, Privileged (propiedad), AdminUser (propiedad), Directiva del sistema, InstallValidate (acción), Costo de archivos, DiskCost (cuadro de diálogo), OutOfDiskSpace (propiedad), OutOfNoRbDiskSpace (propiedad), AllocateRegistrySpace (acción), VolumeCostList (control), Reversión, Mecanismo de instalación, PROMPTROLLBACKCOST (propiedad), DISABLEROLLBACK (propiedad), EnableRollback ControlEvent. |
4.5 La aplicación debe cumplir la configuración de la directiva de grupo del sistema. |
Windows Installer puede seguir las directivas que pertenecen a la instalación. Para obtener más información, consulte Directiva del sistema. |
7.1 Las aplicaciones deben seguir funcionando después de actualizarlas a Microsoft Windows 2000 Professional sin necesidad de reinstalarlas. |
El instalador tiene un atributo de componente que puede facilitar la preparación de la aplicación para la migración a Windows 2000. Para obtener más información, consulte Uso de componentes transitivos. |