none
Adicionar Chave de Registro HKCU que não é administrador. RRS feed

  • Pergunta

  •  

    All, estou com problemas. Preciso enviar um pacote Usando SMS. Criei o arquivo MSI porem executo como administrador e passo o parametro para uma instalação passiva o mesmo não conclui a instalação, sendo assim para executar a instalação com sucesso não posso executar como tenho que executar com permissões do usuário, criei um script para que o usuário pudesse executar arquivos MSI, mas como faço que a chave correpondente ao perfil do usuário escreva corretamente??? me ajudem obrigado.

     

    Set WshShell = CreateObject("WScript.Shell")
    Dim inst
    WshShell.RegWrite "HKLM\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 1, "REG_DWORD"
    WshShell.RegWrite "HKCU\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 1, "REG_DWORD" (Não consigo adcionar no perfil do usuário)
    Set Launch1 = WshShell.exec("MsiExec.exe /x ReceitaNet.msi /passive")
    do while Launch1.Status = 0
     WScript.Sleep 100
    loop
    Set Launch = WshShell.exec("MsiExec.exe /i ReceitaNet.msi /passive")
    do while Launch.Status = 0
     WScript.Sleep 100
    loop
    WshShell.RegWrite "HKLM\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 0 ,"REG_DWORD"
    WshShell.RegWrite "HKCU\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 0 ,"REG_DWORD"
    inst = Msgbox ("Os Programas IRPF2008.01 e Receitanet 2008.01 foram instalados no seu Computador com sucesso.", 0, "Declaração de Ajuste Anual 2008")
    WScript.quit

    segunda-feira, 24 de março de 2008 13:55

Respostas

  • Romeu,

     

    Tudo bem!!! Desculpe a demora, mas consegui fazer a instalação. É seguinte, a instalação não conclui com sucesso por que no perfil do usuário mesmo executando como não era possivel alterar nada relacionado a pasta all users, sendo assim colequei essa propriedade na linha de comando MSI e a instalação foi efetauda com sucesso.

     

    Set Launch1 = WshShell.exec("MsiExec.exe /x ReceitaNet.msi /passive ALLUSERS=1")

     

    Queridos obrigado!!!!

    Até a proxima!

     

    quinta-feira, 10 de abril de 2008 20:10

Todas as Respostas

  • Olá,


    primeiramente, gostaria de pedir calma. Sua mensagem está bem confusa de entender, e se puder explicar melhor, vai ajudar bastante.

    Em segundo lugar, você sabe exatamente pra que quer adicionar esta chave no perfil do usuário? Que tipo de aplicação precisaria alterar o perfil de todos os usuários da máquina pra funcionar? Parece que algo está errado...

    Você não está conseguindo alterar o HKCU do usuário justamente por que o HKCU é um "ponteiro" pra chave correspondente ao usuário LOGADO dentro de HKEY_USERS. Você está alterando sim a chave no reg, mas do administrador, e não de outros usuários.

    []s,

    Vinicius Canto
    MVP Windows Server - Admin Frameworks
    terça-feira, 25 de março de 2008 11:34
    Moderador
  • Olá,

     

    Prazer em falar com vc Vinicius. Então estou muito calmo apesar de apressado. É que tenho um pacote MSI, e quando envio este pacote usando o SMS com permisões administrativas e em modo Passivo, o mesmo não conclui a instalação, porem quando envio com previlégios do usuário ele conclui, os usuários na empresa que trabalho não são administradores, fiz algumas pesquisas e descobri se adicionarmos as chaves de registro:

    WshShell.RegWrite "HKLM\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 1, "REG_DWORD"

    WshShell.RegWrite "HKLCUSoftware\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated", 1, "REG_DWORD"

    O usuário terá previlégios para executar um arquivo MSI, sendo assim, criei um script que adicona estas chaves executa o MSI e ao concluir a instalação remove o previlégio do usuário, porem acontece exatamento o que vc disse e tambem já sabia que o HKCU é um ponteiro do HKU, estou justamente fazendo um load no registro e inserindo a chave porem acho um pouco arriscado tenho aproximadamente 1500 maquinas aqui e se falhar são 1500 erros, vc sabe uma forma de adicionar sem precisar fazer um load o registro do usuário???

     

    Obrigado...

     

    terça-feira, 25 de março de 2008 13:18
  • Cara isso é uma police vá em :

    Group Policy (Computer Configuration\Administrative Templates\Windows Components\Windows Installer).

     

    http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/92830.mspx?mfr=true

    quarta-feira, 26 de março de 2008 21:12
  • Outro detalhe que eu estava verificando no seu post...

    Vc está tentando distribuir o receita net e o irpf de 2008 ?

    Se for isso mesmo, talves seja melhor você usar as versão desenvolvidas em java, pois é só copia-las.

     

     

    quarta-feira, 26 de março de 2008 21:15
  • Romeu,

     

    Tudo bem!!! Desculpe a demora, mas consegui fazer a instalação. É seguinte, a instalação não conclui com sucesso por que no perfil do usuário mesmo executando como não era possivel alterar nada relacionado a pasta all users, sendo assim colequei essa propriedade na linha de comando MSI e a instalação foi efetauda com sucesso.

     

    Set Launch1 = WshShell.exec("MsiExec.exe /x ReceitaNet.msi /passive ALLUSERS=1")

     

    Queridos obrigado!!!!

    Até a proxima!

     

    quinta-feira, 10 de abril de 2008 20:10