OBCOM
Cabinet Wizard
Copyright © OBCOM INGENIERIA S.A. (Chile)
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 ejan dentro
de un subdirectorio llamado Deploy, el cual se crea automáticamente en
el mismo directorio que contiene la biblioteca (OCX).

![]()
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.
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.

OBCOM Cabinet Wizard firma
digitalmente el archivo cabinet generado utilizando la herramienta signcode
provista por Microsoft. La herramienta signcode 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 checkbox “Sign the file 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.
Opciones
de firma y timestamp:
existen tres combinaciones de firma digital y timestamp (de izquierda a derecha
en la figura anterior):
a.
Sólo
con firma digital: esta
opción sólo se utiliza cuando no se dispone de un acceso a Internet para
obtener un timestamp. El cabinet resultante sólo puede utilizarse para pruebas,
pero no sirve en un ambiente de producción.
b.
Sólo
con timestamp: esta es una
opción avanzada que se utiliza sobre archivos que ya poseen una firma digital
pero que no tienen un timestamp asociado.
c.
Con
firma digital y timestamp:
esta es la opción normal para pruebas y producción.

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.
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 el archivo de prueba HTML para una biblioteca de
nombre “EcuTEST”.

Todos los archivos que genera OBCOM Cabinet
Wizard son almacenados en un subdirectorio llmado 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:
a)
El utilitario makecab 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 signcode,
el utilitario makecab debe encontrarse instalado en el PC, y su
directorio debe encontrarse en el PATH del usuario.
b)
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 “EcuTEST.ocx”, el BAT intenta compilar el archivo “..\EcuTEST.vbp”.
c)
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.
d)
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.
![]()
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.