Instalador
Caros colegas, peguei um sistema instalador aonde ele funciona fazendo a instalação na pasta do usuario q está logado no momento da instalação(HKEY_CURRENT_USER) ou seja se eu entrar com outro usuário na mesma máquina esse outro usuário não tem acesso ao software. Quero mudar isso, ao invés d criar as informações do software na pasta do usuário local estou passando p/pasta HKEY_LOCAL_MACHINE, mas estou tendo problemas com a criação do atalho. a rotina p/criação do atalho é a seguinte:
Reg:= TRegIniFile.Create(´Software\Microsoft\Windows\CurrentVersion\Explorer´);
WFileName := Reg.ReadString(´Shell Folders´, ´Desktop´, ´´) + ´\´ +
Config.ReadString(´ATALHO DO SISTEMA ´ + IntToStr(I), ´NOME´,
´´) + ´.Lnk´;
Reg.Free;
Nesse caso o arquivo TRegIniFile é criado na pasta HKEY_Current_User se eu colocar a seguinte linha: Reg.RootKey := HKEY_LOCAL_MACHINE; o programa compila só q qdo eu executo o cara ocorre o seguinte erro no final da instalação: Acess violation at adress 00453BE2 in module ´instala.exe´.Read of adress 00000008.
Alguem tem ideia d como ajudar??
Desde já agradeço.
Reg:= TRegIniFile.Create(´Software\Microsoft\Windows\CurrentVersion\Explorer´);
WFileName := Reg.ReadString(´Shell Folders´, ´Desktop´, ´´) + ´\´ +
Config.ReadString(´ATALHO DO SISTEMA ´ + IntToStr(I), ´NOME´,
´´) + ´.Lnk´;
Reg.Free;
Nesse caso o arquivo TRegIniFile é criado na pasta HKEY_Current_User se eu colocar a seguinte linha: Reg.RootKey := HKEY_LOCAL_MACHINE; o programa compila só q qdo eu executo o cara ocorre o seguinte erro no final da instalação: Acess violation at adress 00453BE2 in module ´instala.exe´.Read of adress 00000008.
Alguem tem ideia d como ajudar??
Desde já agradeço.
Fabiano_aprendiz
Curtidas 0
Respostas
Massuda
14/07/2005
...se eu colocar a seguinte linha: Reg.RootKey := HKEY_LOCAL_MACHINE; o programa compila só q qdo eu executo o cara ocorre o seguinte erro no final da instalação...
Para alterar HKEY_LOCAL_MACHINE o usuário precisa ser administrador da máquina.GOSTEI 0
Fabiano_aprendiz
14/07/2005
Mas eu estou fazendo a instalação como administrador, e mesmo assim ocorre o erro.
GOSTEI 0
Massuda
14/07/2005
Olhando melhor o código que você postou......está apenas montando o nome do arquivo .LNK... O objeto Config existe nesse ponto do código? O objeto Reg está sendo utilizado depois deste ponto do código?
Reg:= TRegIniFile.Create(´Software\Microsoft\Windows\CurrentVersion\Explorer´); WFileName := Reg.ReadString(´Shell Folders´, ´Desktop´, ´´) + ´\´ + Config.ReadString(´ATALHO DO SISTEMA ´ + IntToStr(I), ´NOME´, ´´) + ´.Lnk´; Reg.Free;
GOSTEI 0
Fabiano_aprendiz
14/07/2005
Respondendo respectivamente, Sim e não. A minha dúvida é a seguinte. Eu quero criar o atalho no menu iniciar e no desktop p/todo o usuario q se logar na máquina e não apenas no usuario q está logado no momento da instalação.
GOSTEI 0
Massuda
14/07/2005
Experimente mudar seu código para...Note que o primeiro ReadString mudou de ´Desktop´ para ´Common Desktop´, que é a área de trabalho comum a todos os usuários; tem também ´Common Startup´, que é o menu Iniciar|Programas|Inicializar comum a todos os usuários.
Reg:= TRegIniFile.Create(´Software\Microsoft\Windows\CurrentVersion\Explorer´); WFileName := Reg.ReadString(´Shell Folders´, ´Common Desktop´, ´´) + ´\´ + Config.ReadString(´ATALHO DO SISTEMA ´ + IntToStr(I), ´NOME´, ´´) + ´.Lnk´; Reg.Free;
GOSTEI 0
Fabiano_aprendiz
14/07/2005
Vlw amigo,
Suas dicas me ajudaram bastante, agora falta pouca coisa p/eu acabar.
Obrigado.
[]´s.
Suas dicas me ajudaram bastante, agora falta pouca coisa p/eu acabar.
Obrigado.
[]´s.
GOSTEI 0
Sergiomatos
14/07/2005
Amigo você conhece o InnoSetup?
É um otimo gerador de Instalador e melhor ainda FREE.
Possui os principais recursos para se gerar um instalador de qualidade, inclusive para resolver o seu problema conforme mencionado.
Experimente e bem facil de usar e vem com exemplos pra voce iniciar o desenvolvimento.
Espero ter ajudado.
Te +
É um otimo gerador de Instalador e melhor ainda FREE.
Possui os principais recursos para se gerar um instalador de qualidade, inclusive para resolver o seu problema conforme mencionado.
Experimente e bem facil de usar e vem com exemplos pra voce iniciar o desenvolvimento.
Espero ter ajudado.
Te +
GOSTEI 0
Fabiano_aprendiz
14/07/2005
Sim, já ouvi falar mais nunca utilizei, nesse instalador q estou mexendo agora eu não pretendo usa-lo até porq o instalador já está pronto então só estou fazendo umas pequenas alterações, agora em um software futuro eu vou está utilizando p/poder conhecer.
Vlw,
[]´s.
Vlw,
[]´s.
GOSTEI 0