Introducción Hay varias formas de crear componentes personalizados para Microsoft Windows XP Embedded. Por ejemplo, puede importar el archivo .inf del controlador de dispositivo importado directamente en la herramienta del Diseñador de componentes (esta es una gran mejora con respecto a Microsoft Windows NT Embedded 4.0). Puede crear componentes importando Devices.pmq (la salida de Target Analyzer Probe (TAP) o Target Analyzer (TA): todo va bien hasta ahora, pero ¿cómo crea un componente que pueda describir una aplicación personalizada? Para los fines de este artículo, decidí crear un dispositivo de seguridad que use TimerShot Windows XP PowerToy, una aplicación muy interesante que captura imágenes de dispositivos de imágenes conectados y almacena la imagen en una ubicación predeterminada. En su disco duro local, o en un recurso compartido de red (puede encontrar un enlace a Windows XP PowerToy al final de este artículo). TimerShot se puede configurar para obtener una imagen cada pocos segundos o cada pocos minutos, todo esto se configura dentro de la aplicación y se almacena en el registro de Windows XP. También incluiré otra aplicación llamada "PhotoDisplay", que escribí específicamente para este artículo. PhotoDisplay se puede utilizar para ver archivos JPEG almacenados. Desafortunadamente, no hay herramientas que automaticen el proceso de creación de componentes integrados de Windows XP para su aplicación; se requiere algún trabajo de detective. Por lo tanto, me desharé del cazador de ciervos, llamaré a mi amigo Watson (aquí hay un juego de palabras) y comenzaré a trabajar. Opciones de instalación
Existen varias opciones para agregar aplicaciones /tecnologías de terceros al crear dispositivos con Windows XP Embedded. Estas opciones dependen principalmente de la configuración de hardware del dispositivo y del método utilizado para fabricar el dispositivo. Se obtiene la máxima flexibilidad cuando se crean dispositivos que arrancan desde medios R /W (generalmente discos duros) y contienen unidades de CD-ROM /DVD-ROM, monitores, teclados y ratones. En esta configuración, puede ejecutar un instalador de terceros directamente en Embedded Target, que copiará y configurará la aplicación directamente en el dispositivo de destino. Esta opción es útil si está construyendo un dispositivo de una sola vez, o si desea probar su aplicación en Windows XP Embedded para asegurarse de que estén presentes todos los componentes necesarios del sistema operativo (se explica a continuación). Otra opción es generar una imagen de Windows XP Embedded (generalmente generada en la carpeta \\ Windows Embedded Images) y agregar manualmente las aplicaciones /recursos necesarios a la carpeta de compilación. La imagen del sistema operativo Windows XP Embedded (y las aplicaciones /recursos) se puede copiar al medio de inicio y luego se puede probar la aplicación. Esto solo se aplica a aplicaciones simples que no requieren el registro de objetos COM o la instalación de los servicios del sistema operativo subyacente. El mejor enfoque es crear un componente que pueda usarse dentro de Target Designer y que pueda seleccionarse como cualquier otro componente de Windows XP Embedded. Esta es una opción ideal si ya ha instalado las herramientas integradas de Windows XP en una situación multiusuario. Sin embargo, esto requiere algo de trabajo por hacer. Analicemos cómo instalar la aplicación y qué partes del sistema operativo suelen modificarse. El instalador está disponible en diferentes formas y tamaños, ya sea como xcopy simple, IExpress o como un instalador de GUI que requiere que el usuario proporcione información de registro y puede emitir varios CD /DVD. El instalador puede instalar el motor de la base de datos o los servicios del sistema operativo, los controladores de dispositivos o las DLL de soporte, y puede realizar cambios en el registro del sistema operativo o en los archivos INI; en algunos casos, los archivos instalados pueden instalarse en varias PC. En la carpeta: Archivos de programa para la aplicación principal, "\\ Windows \\ System32" para el controlador del dispositivo u otras carpetas según el instalador. Para determinar qué se debe incluir en sus componentes de Windows XP Embedded, a primera vista puede no parecer un trabajo normal. La buena noticia es que existen herramientas y técnicas para ayudarlo. La siguiente sección proporciona una descripción general de alto nivel de las herramientas que necesita para determinar qué configuración de archivos /registro y los componentes del sistema operativo que se incluirán en los componentes integrados de Windows XP. Detective Toolkit
Esta sección describe las herramientas que necesita para crear componentes personalizados de Windows XP Embedded. Se requieren dos conjuntos de herramientas para construir y probar componentes. Algunas de estas herramientas se ejecutarán en la PC de desarrollo, mientras que otras se incluirán en el dispositivo de destino para depurar la aplicación o el componente. Dividamos estas herramientas en las dos categorías anteriores y luego examinemos cómo se usa cada herramienta. Herramientas utilizadas en el desarrollo de PC. Aunque no puede cambiar el comportamiento del instalador de una aplicación, puede monitorear su sistema operativo para determinar qué cambios han ocurrido desde que se instaló la aplicación. Hay muchas herramientas que se pueden utilizar para ayudar con este proceso. Debido a que algunos instaladores requieren un reinicio durante el proceso de instalación, es ideal usar una herramienta que pueda monitorear los cambios en el sistema de archivos y el registro de la PC después de un reinicio. Las aplicaciones como Inctrl5 (ZDNet) y SysDiff (Microsoft) toman una instantánea del sistema de archivos y el registro antes de instalar la aplicación, luego toman una instantánea del sistema de archivos y el registro después de la instalación y proporcionan una diferencia entre las dos. Informe: esto puede ayudar a determinar qué archivos deben incluirse en el componente. Tenga en cuenta que las aplicaciones y los servicios que ya se están ejecutando cuando se instala la aplicación también pueden realizar cambios en el sistema de archivos y el registro. A continuación, se incluye una lista de las herramientas que se han utilizado en mi PC de desarrollo para determinar qué archivos /entradas de registro deben incluirse en mi componente personalizado. Explicaré cada herramienta a través de los pasos del proceso descrito más adelante en este artículo. Uso • InCtrl5: toma una instantánea del sistema de archivos y el registro y proporciona una lista de diferencias (ZDNet) • Dumpbin: se utiliza para determinar qué DLL utiliza la aplicación /DLL (Microsoft Visual Studio .Net) • Depende: también se puede usar para determinar Qué DLL (y API) utiliza la aplicación • RegMon: supervisa dinámicamente los cambios en el registro (Partes internas del sistema NT) • FileMon - Partes internas del sistema NT • Herramientas de desarrollo integradas de Windows XP - Sonda analizadora de objetivos, Diseñador de componentes, Administrador de base de datos de componentes, Herramientas del diseñador de destino para usar en dispositivos de destino. El uso de las herramientas anteriores para determinar qué archivos y claves de registro son necesarios es solo una parte del rompecabezas. Después de que se haya generado la imagen de Windows XP Embedded, también se deberá probar la aplicación para asegurarse de que funciona como se esperaba. Es posible que la aplicación cargue dinámicamente la DLL o cree una instancia del objeto COM, pero no puede capturarse utilizando Dumpbin o Depends. Por lo tanto, se necesitan algunas herramientas de depuración en el dispositivo de destino. A continuación, se incluye una lista de las herramientas que se han utilizado en mi dispositivo de destino (estas herramientas deben eliminarse antes de implementar la imagen final del sistema operativo). • RegMon: supervisa dinámicamente los cambios en el registro (internos del sistema NT) • FileMon - Internos del sistema NT En la siguiente sección, analizaré el uso de estas herramientas. Descripción general
Descripción general del proceso Primero, recapitulemos el dispositivo de seguridad y enumeremos los componentes disponibles. Nuestro plan es generar dispositivos de seguridad basados en Windows XP Embedded. En este ejemplo, usaré la computadora portátil Toshiba Tecra 9000 como mi PC de desarrollo, usaré la cámara Logitech USB y Windows XP Embedded TimerShot PowerToy (para la ubicación de descarga de este componente, consulte el enlace al final de este artículo) como mi objetivo. Dispositivo y utilizar el kit de detectives mencionados anteriormente. El portátil Toshiba tiene dos particiones de disco duro. La partición primaria contiene Windows XP Professional y todas mis herramientas de desarrollo (Windows XP Embedded, Visual Studio .Net, etc.) y está formateada como NTFS. También tengo una partición secundaria de 700 MB (aproximadamente igual en tamaño al disco) y formateada como FAT32. He modificado mi BOOT.INI (reside en la raíz de la unidad de inicio para agregar una opción de inicio secundaria para Windows XP Embedded - tenga en cuenta que Boot.ini está configurado para tener las propiedades del sistema y las ocultas) - Boot.ini Como se muestra a continuación: [cargador de arranque] tiempo de espera = 30 predeterminado = multi (0) disco (0) rdisk (0) partición (1) \\ Windows [sistemas operativos] multi (0) disco (0) rdisk (0) partición (1 ) \\ WINDOWS = "Microsoft Windows XP Professional" /fastdetect multi (0) disk (0) rdisk (0) partición (2) \\ WINDOWS = "Microsoft Windows XP Embedded" /fastdetect Al inicio, tengo dos opciones: Inicie en Windows XP Professional (en mi partición primaria) o inicie en mi imagen de Windows XP Embedded (en mi partición secundaria). Después de un tiempo de espera de 30 segundos, la opción predeterminada es iniciar Windows XP Professional. Paso 1: captura la información del instalador El primer paso para crear un componente personalizado es determinar la configuración de archivo y registro requerida por la aplicación. El instalador y las herramientas de detección deben ejecutarse en Windows XP Professional. Puede ejecutar y probar su aplicación contra una imagen de sistema operativo totalmente configurada: este artículo probará la aplicación para Windows XP Embedded más adelante. El sitio web de Windows XP PowerToys enumera algunos PowerToys; cuando hace clic en el enlace apropiado para descargar un PowerToy, se le solicita que seleccione Abrir, Guardar, Cancelar o Más información. Haga clic en Guardar para guardar el programa TimershotPowertoySetup.exe en su disco duro. Tenga en cuenta que PowerToy se descargará e instalará cuando se seleccione "Abrir". En este punto, no necesita capturar información durante el proceso de instalación. También se requerirá un sistema de archivos y una herramienta de instantáneas de registro. Para los fines de este artículo, he elegido usar Inctrl5 de ZDNet, aunque hay muchas herramientas similares disponibles. La siguiente es la apariencia de Inctrl5: la ubicación del instalador está insertada (en mi ejemplo c: \\ stuff \\ XP-PowerToys \\ TimershotPowertoySetup.exe), la ubicación de salida del informe se cambia para que apunte a mi carpeta de instalación, luego hago clic en GO !. Figura 1. InCtrl5 captura una instantánea del registro y el sistema de archivos de mi PC de desarrollo e inicia el instalador de PowerToy. Una vez finalizado el proceso de instalación, se toma una segunda instantánea y se genera un informe. El informe compilado mostrará una lista de todos los cambios realizados en el sistema de archivos, el registro, los archivos INI y los archivos de texto (autoexec.nt y config.nt). Para el caso de la instalación de PowerToy, este informe se incluye al instalar PowerToy.