OBCOM Cabinet Wizard

Copyright © OBCOM INGENIERIA S.A. (Chile)

1.  Introducción

Una técnica para construir una aplicación consiste en separar dicha aplicación en distintos módulos, los cuales son cargados a memoria sólo cuando se necesitan. Para usar esta técnica en aplicaciones Internet, es necesario empaquetar los módulos en archivos cabinet (CAB) debido a que estos archivos poseen las siguientes características:

 

1.        Están comprimidos: descargas más rápidas debido al menor tamaño.

2.        Pueden incluir varios archivos: reduce el número descargas necesarias.

3.        Incluyen instrucciones de instalación: facilita la instalación y desinstalación.

4.        Están firmados digitalmente: garantiza el contenido e identifica al autor.

 

Por estos motivos, un control se puede activar dentro del Desktop sólo si la biblioteca (OCX) que contiene a dicho control está empaquetada en un cabinet. OBCOM Cabinet Wizard tiene por objetivo facilitar la generación de estos archivos cabinet. Además, OBCOM Cabinet Wizard genera una página ASP que describe la versión de la biblioteca (OCX) que contiene cada cabinet. Esta información le permite al Desktop decidir si debe o no actualizar la biblioteca descargando e instalando el cabinet asociado.

 

La forma de uso de OBCOM Cabinet Wizard es simple: se selecciona el archivo de la biblioteca (OCX) que se desea empaquetar, y luego se genera el cabinet y la página ASP asociada haciendo clic en un botón de la barra de herramientas. También se generan archivos de comando BAT que producen el cabinet sin necesidad es usar OBCOM Cabinet Wizard directamente. Todos los archivos antes mencionados se dejan dentro de un subdirectorio llamado Deploy, el cual se crea automáticamente en el mismo directorio que contiene la biblioteca (OCX).

 

2.  Barra de herramientas

 

OBCOM Cabinet Wizard posee una barra de herramientas que le permite al usuario realizar las siguientes operaciones (de izquierda a derecha en la figura anterior):

 

1.        Abrir una biblioteca de componentes ActiveX (OCX, DLL o EXE).

2.        Genera archivos BAT para construir el cabinet de la biblioteca.

3.        Genera el archivo cabinet y página ASP de la biblioteca.

4.        Ver y/o modificar las opciones de Firma Digital del Cabinet.

5.        Ver los distintos archivos que genera la herramienta.

3.  Abrir biblioteca de componentes ActiveX

El botón de más a la izquierda de la barra de herramientas de OBCOM Cabinet Wizard muestra una ventana como la que se muestra en la siguiente figura. Esta corresponde a una ventana estándar de selección de archivos de Windows, la cual está configurada para seleccionar sólo archivos con extensión OCX, DLL o EXE.

 

Nota: no todos los archivos con extensión DLL o EXE son bibliotecas ActiveX. Sólo herramientas como Microsoft Visual Basic son capaces de generar este tipo de archivos. OBCOM Cabinet Wizard entrega un mensaje de error si se selecciona un archivo del tipo equivocado.

 

4.  Opciones de firma digital

OBCOM Cabinet Wizard firma digitalmente el archivo cabinet generado utilizando la herramienta SignTool.exe provista por Microsoft. La herramienta SignTool.exe posee varios parámetros, los cuales pueden ser definidos utilizando la ventana de opciones de Firma Digital. Esta ventana de opciones se activa desde la barra de herramientas, y se muestra en la siguiente figura.

 

 

1.        Nombre común del certificado: esta ventanilla muestra la identificación del certificado digital que se utilizará para firma el archivo cabinet. El certificado se selecciona utilizando el botón “...” a la derecha de la ventanilla.

 

2.        Dirección URL de información: esta ventanilla permite definir una dirección URL que queda almacenada junto con la firma digital. Cuando el archivo cabinet es descargado, y se muestra la ventana de seguridad pidiendo autorización para instalarlo, el usuario puede navegar a esta dirección URL para obtener más información respecto de las componentes almacenadas en el archivo cabinet. La dirección URL sólo se almacenará con la firma digital si el checkboxSign the files including this information” está seleccionado.

 

3.        Descripción de la autoridad firmadora: define el tipo de autoridad que firma el archivo cabinet. Esta puede ser una autoridad comercial, individual, o de otro tipo no definido. Normalmente se utiliza el tipo “none” (no definido).

 

4.        Dirección URL para obtener timestamp: cuando se firma digitalmente un documento (en este caso, un archivo cabinet), es necesario incluir la fecha y hora (timestamp) en que se firmó el documento. Para obtener un timestamp oficial (es decir, uno emitido por una organización de confianza), es necesario colocar en esta ventanilla la dirección URL de la organización que presta el servicio de generación de timestamps. Normalmente se utiliza la dirección URL de la empresa VeriSign.

 

5.        Seleccionar la herramienta firmadora: históricamente OBCOM Cabinet Wizard ha usado la herramienta SignCode.exe para firmar los archivos. La herramienta SignCode.exe está obsoleta, y Microsoft recomienda utilizar la nueva herramienta llamada SignTool.exe.

5.  Componentes contenidos en la biblioteca

 

Una vez que se ha abierto una biblioteca ActiveX, OBCOM Cabinet Wizard muestra la lista de componentes públicas que contiene dicha biblioteca. Esta lista entrega la siguiente información por cada componente: (1) nombre de la componente, (2) nombre completo (ProgID), (3) número único de identificación (GUID), y (4) string de licencia. De estos cuatro elementos, el string de licencia aparece sólo si la componente hace uso de otras componentes con una licencia asociada (por ejemplo, si se hace uso del control Spread de la empresa FarPoint).

 

Nota: la mayoría de las bibliotecas ActiveX (OCX) fabricadas con Microsoft Visual Basic para el ambiente Desktop contienen sólo un control (componente) público. Por este motivo, es común que la lista de componentes que muestra OBCOM Cabinet Wizard sólo contiene un elemento. El resto de las componentes (controles o clases) privadas de la biblioteca no se muestran debido a que sólo son de uso interno.

6.  Archivos generados

Como se mencionó anteriormente, el Desktop requiere que cada biblioteca (OCX) esté empaquetada en un archivo cabinet firmado digitalmente. Este cabinet debe, adicionalmente, estar acompañado de un archivo (página) ASP que describe la versión e identificación de la biblioteca.

 

La generación del archivo cabinet requiere de varios archivos auxiliares, así como también de archivos ejecutables de tipo BAT. Todos estos archivos (con excepción del cabinet mismo) se pueden visualizar en la consola de OBCOM Cabinet Wizard. Para esto, basta seleccionar el archivo que desea visualizar en la barra de herramientas. A modo de ejemplo, la siguiente figura muestra la página ASP de una biblioteca llamada “EcuDSK01”.

 

 

Todos los archivos que genera OBCOM Cabinet Wizard son almacenados en un subdirectorio llamado Deploy. Este subdirectorio se crea automáticamente en el directorio que contiene la biblioteca ActiveX (OCX). Los archivos que son generados y almacenados en el subdirectorio Deploy son los siguientes:

 

1.        Archivo cabinet (CAB): contiene la biblioteca ActiveX de componentes.

2.        Página ASP (ASP): entrega la versión e identificación de la biblioteca ActiveX.

3.        Instrucciones de instalación (INF): instrucciones de instalación del cabinet.

4.        Opciones de utilitario makecab (DDF): instrucciones de generación del cabinet.

5.        Página HTML de prueba (HTM): prueba la carga del cabinet en Internet Explorer.

6.        Compilación de la biblioteca (BAT): compila la biblioteca con Microsoft Visual Basic.

7.        Generación del Cabinet (BAT): genera el cabinet sin necesidad del OBCOM Cabinet Wizard.

8.        Generación alternativa del Cabinet (BAT): genera el cabinet utilizando el Asistente para empaquetado y distribución (Package and Deployment Wizard).

 

Observaciones y aclaraciones:

 

1.       El utilitario Makecab.exe es una herramienta provista por Microsoft cuyo objetivo es generar cabinets en base a especificaciones provistas en un archivo DDF. Al igual que la herramienta SignTool.exe, el utilitario Makecab.exe debe encontrarse instalado en el PC, y su directorio debe encontrarse en el PATH del usuario.

2.       El archivo BAT de compilación de la biblioteca ActiveX asume que el archivo de proyectos (VBP) de la biblioteca se encuentra en el directorio que contiene al subdirectorio Deploy. Por ejemplo, si la biblioteca se llama “EcuDSK01.ocx”, el BAT intenta compilar el archivo “..\EcuDSK01.vbp”.

3.       El archivo BAT que genera el cabinet sin necesidad de OBCOM Cabinet Wizard es útil sólo cuando la versión e identificación (GUID) de la biblioteca se mantienen constantes. Si alguno de estos parámetros cambia, se hace necesario utilizar OBCOM Cabinet Wizard nuevamente.

4.       El archivo BAT que genera el cabinet utilizando el Asistente para empaquetado y distribución se utiliza en caso que se necesite construir un cabinet que: (1) contenga otros archivos a parte de la biblioteca ActiveX, o (2) necesite bibliotecas de terceros no incluidas en el proceso de instalación del Desktop.

7.  Barra de estado

 

OBCOM Cabinet Wizard posee una barra de estado que muestra la siguiente información (de izquierda a derecha en la figura anterior):

 

1.        Ubicación de la biblioteca de componentes ActiveX.

2.        Versión de la biblioteca de componentes ActiveX.

3.        Descripción de la biblioteca de componentes ActiveX.

4.        Versión de la herramienta OBCOM Cabinet Wizard.