windows 7 client software logo certification
DESCRIPTION
Explicaremos los requisitos técnicos de la certificación Windows 7 Client Software Logo y demostramos el uso de W7 Logo Toolkit para realizar pruebas de certificación de la aplicación.TRANSCRIPT
Certificación Windows 7 Client Software LogoWindows 7 SuperHero Technical Readiness
Michał Morciniec, [email protected]
Microsoft Ibérica
Agenda
•Motivación de Programa de Certificación Windows 7 Logo
•Beneficios del Logo
•Políticas y Requisitos
•Logo Toolkit
•SignTool
INSERT PRESENTATION TITLE2 |
Motivación
Propósito de Programa de Certificación de Windows 7 Logo
4
Ayudar a Partners asegurar que susaplicaciones son compatibles con Windows 7
Guiar al consumidor en búsqueda deaplicaciones que funcionarán con Windows 7
Promover productos que cumplen conestándar definido por Microsoft para lacompatibilidad y fiabilidad.
Cual es el Valor para Partners?
Consumidor se Fija en Logo
• La mayoría de consumidores toma considera Logo en sus decisiones de
compra de software y hardware1
• Consumidor tiene conocimiento del Logo y lo reconoce como seña de
compatibilidad con Windows2
Los Negocios se Fijan en Logo
• La mayoría de Profesionales TT.II. considera que Logo es un factor
importante en sus decisiones de compra
Valor de Logo Para Partners
El Programa de Windows® 7 Software Client Logo ha sidodiseñado para solucionar problemática de…
Compatibilidad
Logo permite asegurar que el producto es libre de problemas
comunes de compatibilidad
Fiabilidad
Pruebas de Logo identifican problemas que siendo
rectificados minimizan re-inicio, suspensión o “crash” de SS.OO.
Logo mejora la satisfacción de clientes y reduce
costes de soporte técnico
Beneficios del Logo
Aumenta tu Relación con Microsoft
Puntos de Programa de Partners (30 MSPP)
Al conseguir “Compatible with Windows 7” Logo para tu aplicación,Partners pueden recibir hasta 30 Puntos del Programa*.
*Número total de puntos está definido en Programa de Partners - paradetalles consulta MSPP calculation details.
Aumenta la Penetración del Mercado
Windows 7 Compatibility Center
Productos certificados para Logo pueden serpublicados en el Catalogo de productos compatiblesen la web de Windows Compatibility Center
“Logo Artwork” & Guías de Marketing
Este material ayuda comunicar a clientes quepueden tener confianza que vuestro producto escompatible con Windows 7.
Mejora tus Productos
Windows Error Reporting (WER) hace posible acceder a datos del “crash” de aplicación
• Permite priorizar causas del “crash” que experimentan usuarios
• Permite datos asociados al fallo de aplicación
• Facilita publicación de parches y actualizaciones de aplicación directamente a usuarios
Programa del Logo
Programa de Windows® 7 Client Software Logo
Estado de Programa
(X) Requisitos técnicos publicados Marzo, 2009
(X) Alpha toolkit disponible a Partners para comenzar pruebas
(X) Beta 1 toolkit disponible y solicitud para Logo comienza en Mayo, 2009
(X) Beta 2 toolkit disponible Agosto, 2009
( X )Versión final RTM del toolkit 21 Octubre, 2009
Como Comenzar
1. Descargar último toolkit de la web Connect
2. Obtener certificado Verisign y crear cuenta de usuario en WinQual
3. Subir el resultado de pruebas generado por toolkit a la web WinQual
4. En caso de fallo de una prueba, es posible solicitar “waver” desde el
interfaz de usuario del toolkit
Simplificación del Programa Logo
In Windows Vista In Windows 7
Software & Devices
Unificación respeto a Logo para Vista
Terceros no intervienen en el proceso de pruebas de certificación
(no tiene coste excepto certificado Verisign certificado para establecer cuenta en
WinQual )
Vista tiene 32 requisitos.
Windows 7 tiene solo 9 requisitos y 3 políticas
Tipo de Aplicaciones admisibles para Windows 7 Software Logo
Admisibles:
• Aplicación tiene que ser “standalone application“
• Aplicación tiene que ejecutar en máquina local Windows® 7
• Componente cliente de la aplicación para servidor
• Aplicación Windows 7 que requiere Microsoft® Outlook® 2007 instalado
• Aplicación Java™ o .NET o similar entorno “runtime”
• Aplicación Windows 7 que requiere dispositivo óptico para funcionar
• Aplicación Windows 7 que requiere conexión con servidor
Ejemplos de Admisibles
• Aplicación web
• Plug-in para Navegador
• Add-in de Office
• Snap-in MMC (Consola Administración)
• Driver de hardware
Ejemplos de NO Admisibles
Proceso de Certificación
Diseña / Aprende
PreparaDesarrollaAplicación
Estudia Reqísitosdel Logo
Prueba Haz Pruebas con Logo Toolkit
Sube resultadosde prueba XML a
Winqual
Recibeconfirmación del
éxito de Certificación
Marketing DescargaWindows 7 Logo
Aprovechaoportunidadesde marketing y
distribución
Políticas y Requisitos
Políticas
• Conjunto de principios adoptados para asegurar la calidad asociada aWindows 7 Logo
Requisitos Técnicos
• Requisitos que a nivel técnico califican una aplicación comocompatible con Windows 7.
Lista de Políticas y Requisitos
Políticas
1. Cumplir con las directrices de Anti-Spyware 2. No modificar los recursos del sistema - WRP 3. Mantener la calidad
Requisitos
1. Instalación y desinstalación limpia
2. Instalar en las carpetas correctas para los programas
3. Firmar digitalmente los ficheros y drivers
4. Soportar versión de Windows x64 bits
5. No bloquear la instalación por comprobar la versión del SS.OO.
6. Seguir las directrices del UAC
7. No bloquear el sistema al apagar
8. No cargar servicios y drivers en “modo seguro” (Safe Mode)
9. Soportar sesiones multi-usuarios
Políticas en Detalle
P1.Cumplir con las directrices de Anti-Spyware
•Aplicaciones consideradas como malware o spyware por programas Anti
Spyware no pueden obtener el logo de compatibilidad.
•Aplicación reportada como malware o spyware por Anti-Spyware Coalition
perderá Logo y beneficios asociados
INSERT PRESENTATION TITLE19 |
P2. No modificar los recursos del sistema - WRP (Windows Resource
Protection):
No sobrescribir ficheros of modificar claves de registroprotegidos por WRP
• No modificar el ACLs en los recursos WRP
• Si se necesita modificar / actualizar algún componente se debe utilizar Service
Pack u aprobado Paquete de instalación publicado por Microsoft.
• Aplicaciones e Instaladores pueden utilizar funciones SfcIsFileProtected y
SfcIsKeyProtected para comprobar si el fichero o clave de registro está
protegido
P3. Mantener la Calidad de Software
•Utilizar Windows Error Reporting (WER) para recibir datosde fallos de software• No esconder excepciones que no se procesan (si se implementa handler de
excepciones global WER no será invocado)
• Comprometerse a responder rápidamente a fallos más importantes.
•Utilizar Application Verifier en el ciclo de vida de desarrollo
•Realizar pruebas de software en ambas (x86 y x64)versiones de Windows
INSERT PRESENTATION TITLE21 |
Requisitos Técnicos en Detalle
Req. 1: Instalación y desinstalación limpia
No forzar reinicio al final de instalación
Reinicios reducen productividad de usuarios
No utilizar nombres cortos (8.3) en ficheros
Impacto negativo en rendimiento de SS.OO
No bloquear instalación / desinstalación silenciosa
Despliegues en grandes entornos la requieren
Utilizar claves de registro para permitir detección / desinstalación
Permite al usuario desinstalar la aplicación
Permite funcionamiento de herramientas de inventario de software
Req. 2: Instalar en los sitios correctos
Lo binarios de las aplicaciones deberían instalarse por defecto en %ProgramFiles% (o %ProgramFiles(x86)%)
La razón: La experiencia de usuario y la seguridad
• La carpeta de archivos de programa por defecto es segura (se necesitan permisos de administrador para poder escribir)
• La carpeta de archivos de programas en donde el usuario espera encontrar los ejecutables de sus aplicaciones
• Datos de aplicación deben grabarse en sitios correctos
Todos los usuarios Perfil de usuario
Documentos C:\users\public C:\users\TheUser
Configuración C:\ProgramData C:\users\TheUser\AppData
Req.3: Todos los binarios deben de estar firmados
La razón: Fiabilidad, Seguridad, Funcionamiento
Todos los binarios de la aplicación deben de estar firmados
• Firma (.exe, .dll, .ocx, .sys, .cpl, .drv, .scr) con certificado Authenticode
• Binarios no-firmados de terceros requieren “waiver”
• Todos los drivers tienen que tener firma según programas WHQL o DRS
Req.4: Soportar versiones x64
No usar componentes de 16 bit (no funcionarán en plataformas x64)
• ERROR_BAD_EXE_FORMAT
• (WOW64 no tiene soporte para aplicaciones 16 bits).
La aplicación debe detectar e instalar los driver y componentes necesarios para arquitecturas de 64 bits
• Instalador de aplicación debe detectar e instalar los driver y componentes
adecuados para arquitecturas de 64 bits
• Shell plug-ins tienen que ser de 64 bits
• No intentar esquivar los mecanismos de virtualización de WoW64 (registry
redirector)
Req.5: No bloquear al comprobar la versión del SS.OO.
•El principal problema para que una aplicación no se instale ocurre durante el setup, y es por la comprobación de la versión del SS.OO.
– La mayoría de las aplicaciones funcionan perfectamente sin chequear la versión, entonces, ¿porque comprobarlo?
•Las aplicaciones no deben realizar comprobaciones de la versión de SS.OO.
•Si se realizan estas comprobaciones, usar operadores lógicos de mayor y menor (>=5.1)
Req.6: Seguir Pautas de Diseño para UAC
Windows Vista & 7 Todos los usuarios ejecutan como Standard User
“Token partido” creado durante proceso de log-on
Consentimiento permite lanzar proceso “elevado”
Recordatorio sobre UAC
Req.6: Seguir Pautas de Diseño para UAC
Aplicación requiere “XML manifest” (embebido o externo)
Proceso principal de aplicación debe ejecutar como Standard User(asInvoker)
Cualquier funcionalidad administrativa debe moverse al procesoseparado que ejecuta con privilegio administrativo.
Aplicaciones para Administradores se identifican(requireAdministrator)
Todas las aplicaciones deben poder ejecutarse con usuarios estándar (al no ser que sean herramientas administrativas)
Req.6: UAC manifest
•Tres formas de marcar la aplicación:
• asInvoker: Ejecuta la aplicación con los privilegios del usuario actual, que
por regla general será con permisos de Standard User.
En la practica significa que las aplicaciones con este valor en su manifiesto
no van a solicitar elevación de privilegios.
• highestAvailable: Ejecuta la aplicación con los máximos privilegios de los
que disponga un usuario.
• requireAdministrator: Ejecuta la aplicación solo si el usuario que lo hace
pertenece al grupo administradores. La aplicación mostrara automáticamente
la ventana de solicitud de elevación.
Req.6: UAC manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!-- Copyright (c) Microsoft Corporation --><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity name="Microsoft.Windows.Shell.notepad“ processorArchitecture="amd64“
version="5.1.0.0“ type="win32"/><description>Windows Shell</description><dependency>
<dependentAssembly><assemblyIdentity/>
</dependentAssembly></dependency><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security><requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>
</security></trustInfo></assembly>
Req.7: No bloquear el sistema al apagar
La razón: Performance y experiencia de usuario
• Si el usuario desea apagar el ordenador, la aplicación debe estar preparada para ello y
no bloquear el sistema
Aplicación debe responder rápidamente a
• WM_QUERYENDSESSION
devolver TRUE en preparación para reinicio
• WM_ENDSESSION
devolver 0 dentro de 30 seconds (debería guardar el estado y apagarse)
• CTRL_C evento para aplicaciones de consola.
El modo seguro (Safe Mode), permite a los usuarios diagnosticar y solucionar problemas en Windows.
Al menos que sea necesario para operaciones básicas del sistema o con propósitos de diagnostico o recuperación, no deben cargarse drivers y servicios en el modo seguro
Req.8: No cargar servicios y drivers en Safe Mode
Req. 9: Soportar sesiones Multi-Usuario
•Aplicación debe poder funcionar correctamente con sesiones múltiples de
usuarios (Fast User Switching) para acceso local y remoto
•Los datos de cada sesión individual son aislados
Logo Toolkit
Windows 7 Logo Toolkit
Logo Toolkit:
Herramientas que se ejecutan desde la línea de comandos con el único objetivo
de ayudarnos a verificar que nuestra aplicación cumple con todos los
requerimientos necesarios para adquirir el logo de compatibilidad con Windows
7
Requerimientos mínimos:
1GHz 64bit (x64) Procesador
1GB RAM
40 GB Disco duro con al menos 15GB de espacio libre
Instalación limpia de Windows 7 64bit
No se aceptan solicitudes de Logo generadas por Logo Toolkit Beta
No se aceptan solicitudes de Logo generadas por Logo Toolkit 32 bits
Logo Toolkit: Resumen de Pasos en Línea de Comando
a) Logar como Administrador a Window 7
b) Ejecutar línea de Comando ( "Start", "Run" cmd.exe)
c) cd Program Files\Microsoft Windows Software Logo Kit
d) Dejar línea de Comando ejecutando en la sesión actual
e) Cambiar de Usuario ( “Start”, click en flecha al lado de “Shut Down”, click “Switch User”)
f) Logar con usuario distinto creando una nueva session
g) En la nueva sesión ejecutar Session Server (“Start”, “All Programs”, 'Microsoft Windows Software Logo
Kit', 'Multi-user Session Server„). Arrancará un “session server” en linea de comando
h) Dejar la nueva session funcionando y volver a la inicial ( “Start”, click en flecha al lado de “Shut Down”,
click “Switch User”)
i) Logar la la primera sesión donde ejecuta línea de Comando
j) Ejecutar toolkit WSLK.exe /preinstall /32bit, /64bit o /Both dependiendo en la aplicación
k) Instalar la aplicación
l) Teclea WSLK.exe /postinstall
NOTE: Restart manager tests can report false positives with run-once and auto-updater modules. Best to disable any.
Logo Toolkit: Resumen de Pasos en Línea de Comando
m) Cambia de usuario ( “Start”, click en flecha al lado de “Shut Down”, click “Switch User”)
n) Loga a otra sesión creada en paso f
o) Cierra todas las ventanas abiertas
p) Cambia de usuario ( “Start”, click en flecha al lado de “Shut Down”, click “Switch User”)
q) Loga a la primera sesión con línea de comando ejecutando
r) Teclea WSLK.exe /preuninstall
s) Desinstala tu aplicación
t) Teclea WSLK.exe /postuninstall
u) Teclea WSLK.exe /createreport <path\filename.xml>
v) Ejecuta el Logo Toolkit (“Start”, “All Programs”, 'Microsoft Windows Software Logo Kit', y luego
'Windows 7 Client Software Logo Toolkit„)
w) Elige opción de continuar con la presente aplicación y selecciona el informe XML generado por
línea de comando.
x) Sigue el asistente para completar el informe XM
y) Envía el informe XML a https://winQual.microsot.com
Verify the result (pass/fail) for each requirement and their corresponding tests via the generated .xml log file created
Logo Toolkit: "UI mode"
a) Arranca el Toolkit: (Start->All Programs->Microsoft Windows Software Logo Kit„ y
pinchar 'Windows 7 Client Software Logo Toolkit„)
b) Seleciona'Validate a new application'
c) Seleciona 'Start Pre-Installation'
d) Deja el interfaz del toolkit WSLK ejecutando en esta sesión
e) Crea una sesión nueva: ( “Start”, click en la flecha al lado de “Shut Down”, click
“Switch User”)
f) Loga a una nueva sesión utilizando cuenta de usuario distinto
g) En la nueva sesión arranca Multi-User Session Server: (“Start”, click en “All
Programs”, luego 'Microsoft Windows Software Logo Kit', click en 'Multi-user Session
Server. En la línea de comando arrancará un servidor de sessiónes multi-usuario.
h) Deja corriendo el servidor y vuelva a sessión inicial; (Start, click en la flecha al lado
de “Shut Down”, click “Switch User”)
How to use "UI mode"
i) Loga a la primera sesión donde ejecuta el interfaz de Toolkit WSLK
j) Continua con el Asistente
k) Cuando se alcanza el etapa 'Pre-uninstall Phase„ cambia de sesión: (Start, click en la
flecha al lado de “Shut Down”, click “Switch User”)
l) Loga a la sesión creada en paso (e)
m) Cierra todas las ventanas
n) Cambia de sesión (Start, click en la flecha al lado de “Shut Down”, click “Switch User”)
o) Loga a la primera sesión donde ejecuta el interfaz de Toolkit WSLK
p) Desinstala tu aplicación, sigue el asistente hasta que crea el informe
q) Si es necesario especifica justificación para obtener “waver” como comentado en el
documento "Software Logo Requirement Document"
r) Manda informe xml a https://winQual.microsot.com
Como Interpretar los Resultados
El informe .xml generado indica resultado (pass/fail) para cado requisito.
Posibles Resultados de Pruebas – Informe XML
PASS - No issues.
PASS WITH WARNINGS - Logo requirements have been satisfied, however there arestill issues than can be addressed. An explanation of the issue, impact if not fixed,and instructions and links on how fix this issue are provided in the report.
FAIL - Logo requirement is not met. Application must be fixed and retested, or avalid waiver is necessary for this application to receive the Logo. An explanation ofthe failure, impact of this issue, and instructions and links on how fix this issue areprovided in the report.
Ubicación de Logs de prueba
En caso de Fallo conviene revisar los logs ubicados en
-%USERPROFILE%\AppData\Local\Microsoft\WSLK
-Nuestros ingenieros pedirán contenido de esta carpeta + informe XML
INSERT PRESENTATION TITLE43 |
Waiver
Una vez creado el informe Toolkit parsea fichero del resultado de pruebas. Si se
detectan Fallos que se permiten por razones de negocio aparece ventana :
Posteriormente se manda el informe completo a WinQual
Validación de Requisitos
Cumplimiento con requisitos del Logo mejora la compatibilidad y fiabilidad
de vuestro software
La decisión sobre la introducción de nuevos requisitos toma en
consideración un coste que supone para partners en el ciclo de desarrollo
de software.
Microsoft considera revisar los criterios para logo como mucho una vez
cada 6 meses
No hay impacto en certificaciones ya conseguidas.
Sitio Web WinQual
Certificados necesarios para WinQual
VeriSign Organizational Certificate
($99 USD)
Permite establecer identidad de la empresa (no valido para submisiones de
certificaciones para hardware).
VeriSign 'Microsoft Authenticode' Code Signing Digital ID
($399 USD)
Vale para firmar código y establecer la identidad de la empresa. Permite firmar
ejecutables de 32/64 bits (.exe PE files), .cab, .dll, ocx, msi, xpi.
SignTool y otras herramientas
Signtool – permite generar firma digital con certificado
descarga https://winqual.microsoft.com/signup/codesign.aspx
Otras herraminetas utiles
makecert, pvk2pfx
descarga Windows 7 SDK
Winqual comenta dos formas de firmar (pero asume que certificado es .pfx)
Certificado en repositiorio de certificados
signtool sign /a /t http://timestamp.verisign.com/scripts/timstamp.dll winqual.exe
o directamente desde fichero .pfx
signtool sign /f ContosoCert.pfx /p p@ssword! /t
http://timestamp.verisign.com/scripts/timestamp.dll winqual.exe
Pero, tienes el certificado .pfx ?
INSERT PRESENTATION TITLE48 |
Windows Quality Online Services
Loga para enviar el resultado de prueba
Windows Quality Online Services
Navega al área de solicitudes de certificación W7 Logo
>>Windows Logo Programs >>Software >>Self Tested >>Windows 7
Windows Quality Online Services
Crea Nueva solicitud de certificación y sigue instrucciones
Recursos
• Recursos de certificación
• Soporte
Recursos imprescindibles
Procesos y Herramientas
• Windows 7 Software Logo Program
• winqual.microsoft.com
• Windows 7 Software Logo Toolkit (WSLK)
Contacto:
• Windows Logo Program for Software ([email protected]) Team
Ayuda en Resolución de Problemas de Certificación de Aplicaciones
Para Partners de Microsoft
Partner Online Technical Communities (OTC)
Accessible por MAPs Subscriber, Empower ISV, Certificados, Gold
• Windows 7 Application Compatibility OTC
• https://partner.microsoft.com/US/40014662
• Primera respuesta en 8 horas
• Disponible en Castellano
Foros de Discusión Públicos
• MSDN Application Compatibility for Windows Development
• Technet Windows 7 Application Compatibility Forum
• Servicio Advisory para Partners ISV
54
Ayuda en Resolución de Problemas de Certificación de Aplicaciones
Para Miembros Registrados
Nuevo servicio de ayuda de certificación Windows 7 Logo
• El requisito es registrar vuestra aplicación en campaña GreenLight
• https://www.isvappcompat.com/Default.aspx
• Después consultas al buzón [email protected]
Foros de Discusión Públicos
• MSDN Application Compatibility for Windows Development
• Technet Windows 7 Application Compatibility Forum
55
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other
countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentations. Because Microsoft must respond
to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of
this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Contacto:
Tel. 902 197 198
(buzón de servicio para Partners)