Compartir a través de


Recuento de uso

Nota:

A partir de Windows XP y Windows Server 2003, ODBC se incluye en el sistema operativo Windows. Solo debe instalar ODBC explícitamente en versiones anteriores de Windows.

Se mantienen dos tipos de recuentos de uso en el registro para cada componente: un recuento de uso de componentes y uno o varios recuentos de uso de archivos opcionales. El recuento de uso de componentes ayuda al archivo DLL del instalador a mantener las entradas del registro. Se almacena en el valor UsageCount en las subclaves ODBC Core, driver y translator. Para obtener el formato del valor UsageCount y más información sobre estas subclaves, vea Entradas del Registro para componentes ODBC.

Cuando se instala por primera vez un componente, el archivo DLL del instalador crea una subclave para él y establece los datos para el valor UsageCount de esa subclave en 1. Cuando el componente se instala de nuevo, el archivo DLL del instalador incrementa el recuento de uso. Cuando se quita el componente, el archivo DLL del instalador disminuye el recuento de uso. Si el recuento de uso desciende a 0, el archivo DLL del instalador quita la subclave del componente.

Precaución

Una aplicación no debe quitar físicamente los archivos del Administrador de controladores cuando el recuento de uso de componentes y el número de uso de archivos lleguen a cero.

Los recuentos de uso de archivos ayudan a determinar cuándo se debe copiar o eliminar realmente un archivo en lugar de incrementar o disminuir el recuento de uso. Esto es importante porque los componentes ODBC y, por tanto, los archivos de los componentes ODBC, se comparten y se pueden instalar o quitar mediante una variedad de aplicaciones. La aplicación puede eliminar archivos de controlador y traductor si el recuento de uso de componentes y el recuento de uso de archivos alcanzan cero. Sin embargo, los archivos del Administrador de controladores no deben eliminarse cuando el recuento de uso de componentes y el recuento de uso de archivos han alcanzado cero, ya que otras aplicaciones que no han incrementado el recuento de uso de archivos pueden usar estos archivos.

Nota:

Los recuentos de uso de archivos son opcionales en Microsoft Windows NT/Windows 2000.

El programa de instalación mantiene los recuentos de uso de archivos después de llamar a SQLInstallDriverManager, SQLInstallDriverEx, SQLInstallTranslatorEx, SQLRemoveDriverManager, SQLRemoveDriver o SQLRemoveTranslator.

Cuando se instala por primera vez un componente, el programa de instalación o el archivo DLL del instalador crea un valor con la siguiente clave para cada archivo de ese componente que aún no está en el sistema:

Nota:

HKEY_LOCAL_MACHINE

SOFTWARE

Microsoft

Windows

CurrentVersion

SharedDlls

Establece los datos de esos valores en 1 y copia el archivo en el sistema. Cuando el componente se instala de nuevo, el programa de instalación o el archivo DLL del instalador incrementa los recuentos de uso. Cuando se quita el componente, el programa de instalación o el archivo DLL del instalador disminuye los recuentos de uso. Si algún recuento de uso desciende a 0, el programa de instalación o el archivo DLL del instalador quita el valor del archivo y, si el componente es un controlador o traductor, elimina el archivo. Los archivos del Administrador de controladores no deben eliminarse.

El formato del valor de recuento de uso de archivos se muestra en la tabla siguiente.

Nombre Tipo de datos Data
full-path REG_DWORD count

Por ejemplo, supongamos que un controlador para Informix usa los archivos Infrmx32.dll e Infrmx32.hlp y supongamos que este controlador se ha instalado dos veces. Los valores de la subclave SharedDlls para el controlador Informix serían los siguientes:

C:\WINDOWS\SYSTEM32\INFRMX32.DLL : REG_DWORD : 0x2  
C:\WINDOWS\SYSTEM32\INFRMX32.HLP : REG_DWORD : 0x2