Home‎ > ‎

Registrar OCX y/o DLL de una forma silenciosa

UN AMIGO ME COMENTA QUE DESEA QUE SU PROGRAMA REGISTRE LAS OCX y/o DLL DE FORMA SILENCIOSA
 
Option Compare Database
Option Explicit
'PARA REGISTRAR ALGUNA OCX y/o DLL DE FORMA SILENCIOSA TE RECOMINDO LO SIGUIENTE
'1) Utiliza el MdlfrmOculto.... PARA LLAMAR AL FORMULARIO OCULTO Y EL ENCARGADO DE LA FUNCION
'   DE REGISTRAR LAS OCX y/o DLL .....¿ por que ?
' PUES COMO VERAS AL MOMENTO DE ABRIR EL FORMULARIO INICIO Y ES ESTE EL QUE LLEVA EL CONTROL ACTIVEX
' NO PODEMOS REGISTRARLO DE FORMA TAN PROLIJA, COMO LO ESPERAMOS, DADO QUE AL CARGAR EL FORM INICIO
' TAMBIEN SE CARGA EL CONTROL ACTIVEX Y COMO NO ESTA REGISTRADO, TE SALTARIA UN ERROR o VARIOS
'2) EL FORMULARIO "frmOculto" ES EL ENCARGADO DE REGISTAR LA OCX y/o DLL
'***************************************************************
'&                                                            &*
'&                                                            &*
'&                                                            &*
'&                                                            &*
'&               Jefferson Jimenez (JJJT)                     &*
'&                 Cabimas - Venezuela                        &*
'&                  Octubre - 2009                            &*
'&                                                            &*
'&                                                            &*
'&                                                            &*
'&                                                            &*
'&                                                            &*
'***************************************************************
'Lo primero que haremos, sera crear las constantes que vamos a utilizar luego
'Establezco la constante direccion del sistema de windows (Para registrar nuestras ocx y/o dll)
Public Const Sistema As String = "C:\Windows\System\"
'Le creo estas constantes de los formularios que uso por si deseas copiar y pegar (Modificas solo esta parte)
Public Const frmInicio As String = "Inicio"
Public Const ElForm As String = "frmOculto"
'Ahora le ingresamos las OCX que el proyecto tenga a su haber
Public Const Ocx1 As String = "CommonDialogView.ocx"
Public Const Ocx2 As String = "ButtonXP.ocx"
Function JJJT_CopiaPegaRegistra(LaOcx As String)
 'Establezco una linea de error
    On Error GoTo Err_JJJT_Failed
          'Utilizo la funcion JJJT_ExisteDir para comprobar que no exista la OCX y/o DLL en el sistema de windows
                If JJJT_ExisteDir(Sistema & LaOcx) = False Then
                    'De no existir Copio la OCX y/o DLL al registro de Windows
                       FileCopy CurrentProject.Path & "\Las OCX - DLL\" & LaOcx, Sistema & LaOcx
                        'Uso la Funcion Shell REGSVR32 para registrar la OCX y/o DLL de forma silenciosa
                        Shell "REGSVR32 " & Sistema & LaOcx & " /s", vbHide
End If
Exit Function
Err_JJJT_Failed:
   MsgBox "Error: " & Err.Number & " " & Err.Description
'Fin de la Funcion JJJT_CopiaPegaRegistra
End Function
Function JJJT_ExisteDir(ByVal Ruta As String) As Boolean
    On Error Resume Next
    JJJT_ExisteDir = (GetAttr(Ruta) And vbNormal) = vbNormal
    Err.Clear
End Function
 
SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
ċ

Descargar
Descargue el Ejemplo  50 kb v. 5 19 may. 2010 6:19 Jefferson Jimenez
Comments