Menu Rápido

15 de dez. de 2009

Tutoriais: Algumas dicas para o Windows 7

O Windows 7 trouxe vários aprimoramentos, pequenas melhorias aqui e ali que tornam o ambiente muito mais agradável de usar do que as versões anteriores – especialmente o Vista, que teve uma enorme taxa de rejeição.

Trago agora uma coleção de dicas diversas, que complementarei em breve com mais tutoriais sobre o Windows 7.

Programas antigos não rodam? Quase sempre sim!


As opções de compatibilidade do Windows 7 são basicamente as mesmas das edições anteriores, mas muita gente não as conhece ou tem medo de usá-las. Em boa parte dos casos um programa que não rodava passa a rodar. As exceções geralmente ficam por conta de drivers, instaladores de dispositivos (reais ou virtuais), e aplicações que requerem uma versão antiga do .NET Framework, que não seja compatível com o Windows 7. Se um driver funcionava no Windows Vista ou até mesmo no XP, você pode tentar instalar ele no modo de compatibilidade – algumas vezes funciona. Um caso mais complicado é o Windows 7 de 64 bits, que exige drivers assinados pela Microsoft, assim como o Vista (contornar isso não é tão simples).

Para rodar um programa no modo de compatibilidade, clique no ícone dele com o botão direito e vá em Propriedades. Na aba Compatibilidade, marque o que se aplicar, especialmente o primeiro item:

m66fb3b1f

Geralmente escolher uma edição anterior do Windows funciona. Você pode marcar também para rodar o programa como administrador. As opções de cores e outras visuais geralmente são para programas que usam skins próprias, que sobrepõem o desenho da janela do Windows (embora muitos funcionem sem precisar delas), ou então alguns jogos antigos.

Além do modo de compatibilidade, é bom rodar alguns programas antigos como administrador (clicando no ícone com o direito e escolhendo Executar como administrador; ou marcar a opção correspondente na tela de propriedades exibida acima, para a configuração valer sempre). Por quê rodar como administrador? Porque programadores que não ligavam para as recomendações da Microsoft continuam fazendo programas errados, que gravam em locais onde só administradores podem gravar. Os locais protegidos mais comuns são as chaves HKEY_LOCAL_MACHINE do registro, e arquivos dentro da pasta do próprio programa, quando não dentro da pasta do Windows (pior ainda).

Para salvar configurações por usuário os programas devem gravar na HKEY_CURRENT_USER, e em pastas do usuário, como Documentos ou AppData, esta fica oculta na pasta “home” de cada usuário. A culpa não é do Windows, é sim dos desenvolvedores que se acostumaram com o tempo Windows 98, que não tinha um controle de contas pensando em proteção. O Windows NT 4 já era bem restrito quanto a isso mesmo em 1996/1997, mas como não era comum seu uso em residências, isso tudo era deixado de lado – exceto em programas de uso em servidores e estações de trabalho. Nele apenas administradores têm acesso a locais importantes do registro e pastas do sistema, onde uma alteração pode afetar a inicialização do computador ou prejudicar o funcionamento de programas e serviços essenciais.

Os programas rodados em modo de usuário comum ou limitado não prejudicam os outros programas, no máximo prejudicariam apenas a conta em uso (similar ao que ocorre na maioria das distribuições Linux). O Windows 2000 (NT 5.0) começou a popularizar um pouco esse conceito (e até trazia um programa para compatibilidade com aplicações antigas no CD do Windows).

Quando chegou o XP (NT 5.1) os problemas apareceram de vez, já que ele foi usado em massa por usuários domésticos, pondo fim à linha de uma carcaça ou carroceria visual por cima do MS-DOS (aka Windows 95/98/Me). Com o Vista (NT 6.0) e 7 (NT... adivinhe? 7.0? Errou, é 6.1, uma versão “melhorada” do Vista :P) tudo isso continuou, afinal usuário limitado não pode fazer alterações globais no sistema – e com o UAC ativo, até mesmo os administradores rodam por padrão como usuários limitados; falarei disso daqui a pouco.

Hoje é comum encontrar programas novos que respeitam o sistema, mas muita gente ainda usa programas antigos que não são mais atualizados, onde os problemas são maiores. O Windows Vista e 7 têm um método de redirecionamento para programas que tentam gravar na HKEY_LOCAL_MACHINE, onde ele salva numa chave fake (falsa) dentro da seção do registro do usuário. A saber, a chave é essa: HKEY_USERS_ClassesVirtualStoreMachine. Saiba mais sobre a virtualização do registro em http://msdn.microsoft.com/en-us/library/aa965884(VS.85).aspx. Isso ajuda mas não é totalmente garantido. Rodar como administrador é uma das opções mais rápidas para solucionar o problema.

Uma outra opção boa é definir os direitos de gravação da pasta do programa livre para todos (algo como um chmod -R 777, se você usa Linux). Um exemplo em que uso pessoalmente isso é para rodar o Delphi 7 (ou anteriores) no Windows Vista ou 7. Ele salva os projetos do usuário na pasta Projects dentro da pasta dele, que ficaria numa subpasta da Arquivos de programas. Na configuração padrão, usuários comuns não podem alterar nada ali (senão seria fácil trocar executáveis, os vírus teriam mais liberdade, etc). Isso impede que o programa funcione. Mas se você se tornar proprietário da pasta e/ou liberar a gravação para todos os usuários, o problema simplesmente termina e ele funciona numa boa. Como dica complementar, rode também como administrador, caso seu programa tente gravar configurações ou outras coisas na chave HKEY_LOCAL_MACHINE do registro :)

Para modificar as permissões de arquivos e/ou pastas no Windows Vista e 7 é necessário dar uma voltinha. Veja:

  1. Clique com o botão direito no item que você quer, e vá em Propriedades. Pode ser um arquivo ou pasta, ou vários deles selecionados.

  2. Vá para a aba Segurança. Clique no botão Editar (se não fizer isso ele vai apenas mostrar os direitos e proibições, sem permitir alterações).

  3. Selecione o tipo de usuário desejado para alterar as permissões. Selecione Usuários, no caso, para liberar para todos os usuários comuns. Se quiser, pode selecionar seu nome, caso não seja interessante que outras contas locais acessem com direitos ilimitados os arquivos que você selecionou.

  4. Com o grupo ou usuário desejado selecionado, marque a caixinha “Permitir” do item “Controle total”. Dê OK e pronto. No Vista a aplicação pode demorar mais do que no 7, especialmente se a pasta tiver muitos arquivos.

38dda3d8

Observação: se o nome de usuário ou grupo não estiver listado, clique em Adicionar, e localize um usuário na máquina. Uma dica para liberar para todos é selecionar “Todos”. Para isso, clique no Adicionar; na tela seguinte digite Todos (ou Everyone, no Windows em inglês) e dê OK. O nome aparecerá na lista. Selecione ele e depois marque as permissões desejadas.

Se você quiser se tornar proprietário da pasta ou arquivo, clique no botão Avançado (da aba Segurança na janela de propriedades) e vá para a aba Proprietário. Clique em Editar e localize seu nome (ou do usuário ou grupo desejado). Da mesma forma você pode definir Todos (para todas as contas) ou Users (para todos os usuários), assim como Administradores (para todos os administradores).

5db14591

Para substituir alguns arquivos de sistema, como por exemplo os uxtheme.dll, themeui.dll e shsvcs.dll (para liberar temas visuais não assinados pela MS), pode ser necessário se tornar proprietário deles.

Nenhum comentário:

Quais conteudos, você está mais aguardado para 2016? [ Permitido várias respostas ]