MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Automatização na instalação de Dll e Ocx

    avatar
    Convidado
    Convidado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Automatização na instalação de Dll e Ocx

    Mensagem  Convidado 22/1/2013, 13:02

    Criei esta função para instalação de Dll's e Ocx's no windows (sendo que será diecionado ao XP ou 7 conforme exista o Dir SysWow64.

    Está funcionando perfeitamentre,

    Pergunto:

    Como suprimir as janelas (MsgBox) de registro com exito da dll?



    Grato.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Cláudio Más 23/1/2013, 03:11

    Faltou a função...
    avatar
    Convidado
    Convidado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Convidado 23/1/2013, 03:43



    '---------------------------------------------------------------------------------------
    ' Procedure : RegistraBiblioteca
    ' Author : Harysohn P. Pina (PILOTO) - Harysohn@hotmail.com
    ' Fórum : Fórum Máximo Access - http://maximoaccess.forumeiros.com/
    ' Date : 23/1/2014
    ' Comentários : Registra Dll e Ocx em WinXP e Win7 e ativa referências
    '---------------------------------------------------------------------------------------
    Function RegistraBiblioteca()

    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    On Error GoTo TrataErro
    Dim NomeProcedimento As String
    NomeProcedimento = "RegistraBiblioteca"
    'Adiciona o nome do procedimento à função
    PegaProcedimento (NomeProcedimento)
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Dim varFile As Variant, nRef As String, varPath As String
    Dim ref As Reference
    Dim fso, Pasta, Arquivo
    Dim StrDestino As String

    'Checa a tabela para verificar se as referências foram instaladas
    If DCount("*", "tblSistemasDependentes", "SistemaDependente = 'Registro de Bibliotecas' And Instalado = True") = 1 Then Exit Function
    MsgBox "Instalando Referências", vbInformation, "INSTALAÇÃO REFERÊNCIAS"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(CurrentProject.Path & "\dll\")

    'Carrega caminho na variável para checar a versão do windows
    StrDestino = "C:\Windows\SysWow64"
    'Se não existe o caminho em StrDestino, WindowsXP
    If Len(Dir(StrDestino, vbDirectory) & "") = 0 Then
    'Busca pelos arquivos de bibliotecas dentro da pasta dll na pasta do sistema
    For Each Arquivo In Pasta.Files
    nRef = Arquivo
    'Carrega a variável com o caminho do Windows e o nome da biblioteca
    varPath = "C:\Windows\System32" & right(nRef, Len(nRef) - Len(Pasta))
    'Se a biblioteca já está dentro da pasta System32 no windows não é instalada
    If Len(Dir(varPath, vbDirectory) & "") = 0 Then
    'Copia a biblioteca para a pasta system32 no windows
    FileCopy nRef, varPath
    'Registra a Dll
    Shell "regsvr32/s """ & varPath & "", vbNormalFocus
    'Pesquisa pelas referencias
    For Each ref In References
    If ref.FullPath = nRef Then
    varPath = "Sim"
    End If
    Next ref
    If varPath = "Sim" Then
    'MsgBox "Referência já existe"
    Else
    'Adiciona a referência no projeto
    Set ref = References.AddFromFile(nRef)
    'MsgBox "Referência adicionada: " & ref.FullPath, vbOKOnly + vbInformation, "SUCESSO"
    End If
    End If
    'Continuar:
    Next Arquivo
    'Atualiza a tabela para marcar como instalado as referências
    CurrentDb.Execute "UPDATE tblSistemasDependentes set Instalado =1 WHERE SistemaDependente='Registro de Bibliotecas'"
    'Se existe o caminho em StrDestino, Windows7
    Else
    For Each Arquivo In Pasta.Files
    nRef = Arquivo
    'Carrega a variável com o caminho do Windows e o nome da biblioteca
    varPath = "C:\Windows\SysWow64" & right(nRef, Len(nRef) - Len(Pasta))
    'Se a biblioteca já está dentro da pasta System32 no windows não é instalada
    If Len(Dir(varPath, vbDirectory) & "") = 0 Then
    'Copia a biblioteca para a pasta system32 no windows
    FileCopy nRef, varPath
    'Registra a Dll
    Shell "regsvr32/s """ & varPath & "", vbNormalFocus
    'Pesquisa pelas referencias
    For Each ref In References
    If ref.FullPath = nRef Then
    varPath = "Sim"
    End If
    Next ref
    If varPath = "Sim" Then
    'MsgBox "Referência já existe"
    Else
    'Adiciona a referência no projeto
    Set ref = References.AddFromFile(nRef)
    'MsgBox "Referência adicionada: " & ref.FullPath, vbOKOnly + vbInformation, "SUCESSO"
    End If
    End If
    Next Arquivo
    End If
    Exit Function
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'Tratamento de Erros
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Exit_TrataErro:
    DoCmd.Hourglass False
    DoCmd.Echo True
    Exit Function
    TrataErro:
    Select Case err.Number
    Case 0
    'Não é um erro
    Case Else
    DoCmd.Hourglass False
    DoCmd.Echo True
    'Chama a função global de tratamento de erros
    GlobalErrHandler ("mdlRegstroDll")
    End Select
    End Function


    Eu apliquei com a opção /s .. mas não funcionou.

    Grato
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Cláudio Más 23/1/2013, 03:50

    Talvez esteja faltando um espaço entre regsvr32 e o /s
    avatar
    Convidado
    Convidado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Convidado 23/1/2013, 04:09

    Não funcionou...

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Convidado 23/1/2013, 04:18

    Tentei assim tambem..

    Shell "regsvr32 """ & varPath & "", vbHide
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  JPaulo 23/1/2013, 11:37

    Eu utilizo desta forma e o /s (silence) funfa na boa;


    Public Sub InstalaDLL()
    'By JPaulo ® Maximo Access
    Dim strCaminho As String
    strCaminho = "C:\WINDOWS\SYSTEM32\MinhaDLL.dll"
    Shell "regsrv32.exe /s """ & strCaminho & """"
    End Sub



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Automatização na instalação de Dll e Ocx Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Automatização na instalação de Dll e Ocx Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Automatização na instalação de Dll e Ocx Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Convidado 24/1/2013, 01:17

    Deu certo com o .exe /s

    Obrigado JP.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Automatização na instalação de Dll e Ocx Empty Re: [Resolvido]Automatização na instalação de Dll e Ocx

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 14:36