Registro Windows ou Arquivos INI
Colegas,
Estou desenvolvendo um sistema em Delphi e tenho que armazenar algumas informações / configurações para o funcionamento do sistema. Logo surgem as dúvidas:
Qual a melhor forma de se trabalhar, Registro do Windows ou Arquivos INI?
Pelo que tive lendo os arquivos INI foram deixados como uma forma secundária para armazenar informações e o Registro do Windows foi assumido como uma forma mais organizada de se trabalhar.
Observei que o registro do windows funciona de forma diferente entre as versões Win98 e WinXP. Para Win98 o usuario/sistema pode gerenciar as informacoes sem problemas, mas já no WinXP algumas restricoes (acesso negado) são apresentadas dependendo o usuario Logado.
Mo meu caso as configurações devem ser gravadas em HKEY_LOCAL_MACHINE, pois são configurações globais para qualquer usuario que acesse o sistema. Portanto não posso gravar minhas informacoes em HKEY_CURRENT_USER pois cada usuario teria uma configuração.
Na minha opinião o Registro do Windows é a melhor forma de se trabalhar com configurações, mas como vou distribuir meu sistema posso ter problemas de funcionamento dependendo do perfil de usuario do windows.
Questões:
1) Existe alguma configuração nos objetos de acesso ao TRegistry (ou outro) para que esse problema seja contornado?
2) Tem como alterar configurações em HKEY_LOCAL_MACHINE independente do perfil do usuario atravez de meu sistema?
3) Arquivos INI é a melhor opção para meu caso?
Obrigado a todos.
Estou desenvolvendo um sistema em Delphi e tenho que armazenar algumas informações / configurações para o funcionamento do sistema. Logo surgem as dúvidas:
Qual a melhor forma de se trabalhar, Registro do Windows ou Arquivos INI?
Pelo que tive lendo os arquivos INI foram deixados como uma forma secundária para armazenar informações e o Registro do Windows foi assumido como uma forma mais organizada de se trabalhar.
Observei que o registro do windows funciona de forma diferente entre as versões Win98 e WinXP. Para Win98 o usuario/sistema pode gerenciar as informacoes sem problemas, mas já no WinXP algumas restricoes (acesso negado) são apresentadas dependendo o usuario Logado.
Mo meu caso as configurações devem ser gravadas em HKEY_LOCAL_MACHINE, pois são configurações globais para qualquer usuario que acesse o sistema. Portanto não posso gravar minhas informacoes em HKEY_CURRENT_USER pois cada usuario teria uma configuração.
Na minha opinião o Registro do Windows é a melhor forma de se trabalhar com configurações, mas como vou distribuir meu sistema posso ter problemas de funcionamento dependendo do perfil de usuario do windows.
Questões:
1) Existe alguma configuração nos objetos de acesso ao TRegistry (ou outro) para que esse problema seja contornado?
2) Tem como alterar configurações em HKEY_LOCAL_MACHINE independente do perfil do usuario atravez de meu sistema?
3) Arquivos INI é a melhor opção para meu caso?
Obrigado a todos.
Sergiomatos
Curtidas 0
Respostas
Romulocpd
05/06/2005
Olá,
Sinceramente sempre achei um erro gravar informações no registro do Windows. Jà me falaram que a própria Microsoft recomenda não utilizar mais o registro para guardar informações de aplicações.
Hoje em dia sempre se fala em XML e já tenho visto muitos sistemas (inclusiva o .Net se baseia todo nele, até nas propriedades do sistema, inclusive o .Net 2.0) mas com certeza eu aconselho a utilização de arquivos INI que sendo um recurso antigo ou não eles funcionam que é uma beleza!
Se é para configurações de usuários eu crio um arquivo INI com o login do usuário e lá tem todas as suas configurações. Nunca, mas nunca mesmo tive problemas independente da linguagem (desenvolvo profissionalmente em VB).
Abraços
Romulo Oliveira
Macaé
Sinceramente sempre achei um erro gravar informações no registro do Windows. Jà me falaram que a própria Microsoft recomenda não utilizar mais o registro para guardar informações de aplicações.
Hoje em dia sempre se fala em XML e já tenho visto muitos sistemas (inclusiva o .Net se baseia todo nele, até nas propriedades do sistema, inclusive o .Net 2.0) mas com certeza eu aconselho a utilização de arquivos INI que sendo um recurso antigo ou não eles funcionam que é uma beleza!
Se é para configurações de usuários eu crio um arquivo INI com o login do usuário e lá tem todas as suas configurações. Nunca, mas nunca mesmo tive problemas independente da linguagem (desenvolvo profissionalmente em VB).
Abraços
Romulo Oliveira
Macaé
GOSTEI 0
Sergiomatos
05/06/2005
Romulo,
Concordo com você. Posso utilizar arquivos INI para minhas configurações, mas o problema que encontro é que (dependendo da versao do windows NT/2000/XP/2003) posso tambem ter problemas com as permissões do usuario para gravar nas pastas de sistema do windows.
Por exemplo tenho um módulo de AutoUpdate para atualizar meu sistema e as atualizações as vezes tem que gravar no registro do windows e bem como gravar arquivos nas pastas de sistema do windows.
Desenvolvi um instalador com inno-setup que chama o instalador oficial do Firebird em modo silencioso.
Será que tenho que exigir dos meus usuarios que tenham perfil de administrador para rodar meu programa, uma vez que tenho que registrar informações no registro em varios pontos do sistema?
Alguem tem alguma sugestão para se trabalhar sistemas que são distribuidos, onde não se sabe como está configurado o ambiente e permissões dos usuarios?
Obrigado a Todos.
Concordo com você. Posso utilizar arquivos INI para minhas configurações, mas o problema que encontro é que (dependendo da versao do windows NT/2000/XP/2003) posso tambem ter problemas com as permissões do usuario para gravar nas pastas de sistema do windows.
Por exemplo tenho um módulo de AutoUpdate para atualizar meu sistema e as atualizações as vezes tem que gravar no registro do windows e bem como gravar arquivos nas pastas de sistema do windows.
Desenvolvi um instalador com inno-setup que chama o instalador oficial do Firebird em modo silencioso.
Será que tenho que exigir dos meus usuarios que tenham perfil de administrador para rodar meu programa, uma vez que tenho que registrar informações no registro em varios pontos do sistema?
Alguem tem alguma sugestão para se trabalhar sistemas que são distribuidos, onde não se sabe como está configurado o ambiente e permissões dos usuarios?
Obrigado a Todos.
GOSTEI 0
Dopi
05/06/2005
Cria um INI no mesmo diretorio da sua aplicação...
A primeira coisa que qq virus faz é detonar o Registry e a pasta do Sistema, o que obrigará vc a instalar/reconfigurar novamente o seu software.
Veja esse tópico:
http://forum.devmedia.com.br/viewtopic.php?t=52133&highlight=ini
O proprio Delphi salva tudo em arquivos INI (porém com outras extensões)
A primeira coisa que qq virus faz é detonar o Registry e a pasta do Sistema, o que obrigará vc a instalar/reconfigurar novamente o seu software.
Veja esse tópico:
http://forum.devmedia.com.br/viewtopic.php?t=52133&highlight=ini
O proprio Delphi salva tudo em arquivos INI (porém com outras extensões)
GOSTEI 0
Sergiomatos
05/06/2005
Acho que depender do registro do windows não é uma boa.
Obrigado pelas respostas pessoal.
Obrigado pelas respostas pessoal.
GOSTEI 0