none
Conferindo script instalaçao RRS feed

  • Pergunta

  • Pessoal

    Preciso da ajuda de voces pra conferir a função abaixo. O script verifica se o software (de inventário) já está instalado conferindo o Registro do Windows. Se estiver instalado, então aborta. Caso nao esteja instalado ele executa normalmente a linha de comando pra instalação.  Mas parece que ele está instalando, e numa segunda vez que roda o script ele instala de novo. Podem conferir pra mim por favor o que está errado ?

    ========================

    Function Instala_Altiris()
    '   On Error Goto 0
       On Error Resume next
       dim fh4,fh5,oReg,strKeyPath,subkey,strValue,strValueName,strPublisher,strUninstallString,strSoftwareName,strVersion,strParentKeyName,strReleaseType,arrSubKeys
       Dim strSystemComponent,strsubkey
       GravaLog "--> Verificando a Existencia do Agente do Inventario Altiris no Registry..."
       Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
           strComputer & "\root\default:StdRegProv")
    On Error Goto 0
       strKeyPath = "HKEY_LOCAL_MACHINE\Software\Altiris\Altiris Agent"
       oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
     
       For Each subkey In arrSubKeys
          strsubkey = subkey
          strValueName = "Version"
          strKeyPath = "HKEY_LOCAL_MACHINE\Software\Altiris\Altiris Agent\" & strsubkey
          oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

    Wscript.Echo strValue

          If not(IsNull(strValue)) and strValue <> "" and strValue <> "" Then
             GravaLog "--> Agente do Inventario Altiris ja instalado..."
          Else
             GravaLog "--> Instalando o Agente do Inventario Altiris..."
             objshell.run "\\" & Trim(Repositorio) & Trim(Pasta_repositorio) & "\Altiris\AeXNSC.exe -s -a ns=u19invmtz.empresa.net nsweb=http://u19invmtz.empresa.net/AeXNS NOSTARTMENU NOTRAYICON /s", 0, True
             GravaLog "--> Fim da instalacao do agente de inventario Altiris."
          End if
       Next
    '   objRecordSet.Close
       set fh4  = Nothing
       set fh5  = Nothing
       Set oReg = Nothing
    End Function

    ==================

     

    Obrigado

     


    Aldiko
    sexta-feira, 5 de novembro de 2010 18:33

Todas as Respostas

  • Chute...

    Troque

    If not(IsNull(strValue)) and strValue <> "" and strValue <> "" Then

    por

    If strValue & "" <> ""  Then


    Fábio de Paula Junior
    sexta-feira, 5 de novembro de 2010 18:40
    Moderador