Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

segunda-feira, 3 de janeiro de 2011

Dicas para Windows 7

Introdução

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<User SID>_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.

XP Mode: uma máquina virtual com Windows XP

Se você usa o Windows 7 Ultimate, Professional ou Enterprise, pode contar com o XP Mode para rodar programas que funcionavam no Windows XP, mas não rodam no 7. O XP Mode é basicamente uma máquina virtual do Virtual PC com o Windows XP - incluindo uma licença de uso gratuita dele. Se você quiser, pode usar qualquer outro programa de máquinas virtuais, como VMware, VirtualBox, etc. A vantagem é que o da MS oferece uma licença gratuita do XP, útil para ambientes empresariais onde o cerco contra a pirataria é bem mais apertado.
Para usar o XP Mode você precisa baixar dois arquivos, o Virtual PC para Windows 7 e o instalador do XP Mode. Na primeira utilização ele demora um pouco para pré-configurar o sistema, depois roda normal. A vantagem do XP Mode é que ele permite usar as aplicações na mesma tela do Windows 7, recurso já presente em outros ambientes de virtualização. Ao instalar um programa no XP virtual, ele fica disponível no menu Iniciar do Windows 7, pode ser fixado na barra de tarefas, etc. Assim você não fica preso à janela da VM (virtual machine, máquina virtual), podendo rodar programas lado a lado - tanto nativamente no 7 como os da máquina virtual.
Link para download:
Note que uma máquina virtual é útil para rodar programas "comuns". Não serve pra rodar jogos recentes em 3D.
Com o Virtual PC você pode criar suas próprias máquinas virtuais também (geralmente ele só presta para rodar Windows dentro de Windows, por isso recomendo o VirtualBox para uso geral). Para acessar ele, digite Windows Virtual PC no campo de busca do menu Iniciar. A interface é baseada no Windows Explorer. Para criar uma máquina virtual clique no botão Criar máquina virtual:
ef9a37a
Para alterar as configurações da máquina virtual, clique nela com o botão direito... Assim como se fosse um "arquivo" dentro de uma "pasta". Se quiser criar as máquinas virtuais por conta própria e instalar o Windows a partir de CD ou imagens ISO, você não precisa baixar o pacote do XP Mode (que tem uns 500 MB), baixe apenas o Virtual PC.
Uma coisa ruim das versões recentes do Virtual PC é que ele exige que a máquina tenha suporte a virtualização por hardware, eliminando o uso em processadores mais antigos. Na maioria dos casos o suporte precisa ser ativado manualmente no SETUP da máquina.

Monte arquivos VHD, do Virtual PC

O Virtual PC usa imagens de disco VHD. Esses arquivos podem ser montados no Windows 7. Para montar imagens VHD, vá ao gerenciador de disco (botão direito no item Computador do menu Iniciar > Gerenciar). Clique no item Gerenciamento de disco com o botão direito e escolha Anexar VHD (é possível também criar um VHD vazio). Localize o arquivo:
38c910e
232f29ac
Ele ficará disponível no gerenciador. Se quiser, marque "Somente leitura" para não permitir alterações. Para usar a imagem será necessário clicar na área referente a ela com o botão direito e ir em Inicializar disco. Você pode particionar o VHD assim como faria com um HD real. Na imagem abaixo o Disco 3 é um VHD:
m68b9ba01
Infelizmente ele não oferece uma opção rápida para lidar com outros tipos de imagens, mas não parece ser do interesse da Microsoft isso.
Ao criar um VHD você deve definir o tamanho e o tipo, se será fixo (cria um arquivo grande) ou expandido dinamicamente.
3c4807fd
Para um melhor desempenho "anti-fragmentação" é bom escolher tamanho fixo, mas como você deve saber (caso já trabalhe com máquinas virtuais) o arquivo que vai crescendo conforme os dados forem sendo adicionados pode ser melhor - melhor para fazer backup, mais rápido para copiar, etc, além de não usar muito espaço no seu HD real enquanto realmente não estiver com toda a capacidade em uso.

Gravação de arquivos ISO

O software gravador de CD/DVD embutido no Windows 7 agora permite gravar imagens ISO. Assim usuários comuns não precisam correr atrás de aplicações de terceiros que fazem isso, mesmo que gratuitas, como o CDBurner XP (programa que uso e recomendo há vários anos para todas as tarefas de gravação).
Basta clicar duas vezes num arquivo ISO, colocar a mídia na unidade gravadora e confirmar:
m3bd3c0a5
Naturalmente, você pode usar o programa que quiser para isso, ignorando o nativo do Windows.

Idiomas adicionais no Ultimate

O Windows 7 Ultimate permite o uso do sistema em vários idiomas. Isso é bom em multinacionais ou empresas grandes que exportam e lidam com funcionários de vários idiomas, e ainda serve bem para quem usa uma versão baixada pela Internet (não necessariamente "ilegal", pode ser um assinante da MSDN ou TechNet que baixou a ISO em inglês). Instalar idiomas adicionais é fácil. Na seção de atualizações opcionais do Windows Update você pode marcar os que deseja para instalação, e depois, nas configurações do painel de controle, você define o que quer usar - e pode trocar o padrão da tela de logon e o válido para novos usuários.
Em inglês: Control Panel > Clock, Language, and Region > Install or Uninstall display languages > Install display languages > Launch Windows Update > X optional updates are available (onde X é um número, que pode variar dependendo de outras atualizações)
Em português: Painel de Controle > Relógio, Idioma e Região > Instalar ou desinstalar idiomas de exibição...
Você pode acessar mais rapidamente, digitando Windows Update no menu Iniciar, e indo na seção de atualizações opcionais.
Marque os idiomas desejados e clique em OK, e a seguir em Install Updates (Instalar Atualizações).
m200e757c
3b9a0a81
Depois é necessário definir um deles como padrão. Na seção regional do painel de controle, clique em Change display language (Alterar idioma de exibição) e escolha o idioma na lista suspensa (aparecem apenas os instalados).
m79f3efb2
É necessário fazer logoff para ativar, não se esqueça de salvar seus dados e fechar os programas em uso.
Para definir este idioma como padrão para todas as contas (ou para as novas), vá nessa mesma seção, Relógio, Idioma e Região (do painel de controle), clique em Alterar idioma de exibição e vá para a aba Administrativo. Clique em Copiar configurações.
m78128d07
Na tela a seguir, marque os itens "Tela de boas vindas e conta do sistema" e "Novas contas de usuário", e clique em OK. Pode ser necessário reiniciar o computador.
36fbee77
É possível também instalar pacotes de idioma a partir de arquivos independentes, nesse caso não vá pelo Windows Update, vá pelo caminho das opções regionais, o primeiro que comentei, e escolha a opção de instalar a partir de um arquivo. Com o vLite é fácil integrar o idioma no DVD de instalação do Windows (desde que você tenha o pacote já baixado individualmente). Ele foi projetado para Windows Vista, mas parece que funciona bem com o 7 (pelo que usei, funcionou). Não é difícil achar os pacotes de idioma desejados usando o Google. Usando o site da Microsoft não encontrei em 5 minutos, então desisti de procurar (a busca lá é algo que precisam melhorar há anos, viu...).

A configuração padrão do UAC é muito fraca

A configuração padrão do UAC, Controle de Conta de Usuário do Windows 7, é mais leve. Ela não exibe tantos avisos como no Vista. Todavia não aparenta ser tão segura: há relatos de que programas conseguem burlar facilmente algumas ações, já que ao alterar algumas configurações o Windows não exibe o aviso. Isso abre brechas para que programas maliciosos tentem clicar sozinhos na tela para liberar alguma outra coisa e então obter mais privilégios (simular cliques do mouse em programação é algo extremamente simples...). Recomendo deixar a proteção no máximo, operando como é no Vista.
Esse recurso foi um dos melhores já inclusos no Windows, possibilitando uma redução no número de vírus e malwares (exceto os que convencem os usuários mesmo, aí não há o que fazer). No painel de controle do Windows 7, vá na seção Sistema e Segurança e clique no link Alterar configurações de Controle de Conta de Usuário. Arraste o controle deslizante para cima, e clique em OK:

5a469643
Se quiser desativar completamente, arraste para baixo. Pode ser necessário reiniciar ao ativar ou desativar completamente. Como se vê, no 7 ele oferece quatro níveis.
Muita gente pensa que esse sistema trabalha unicamente com avisos, "inúteis" para usuários [que se acham] mais bem entendidos. Não é bem assim. Com o UAC ativo, o Windows não libera privilégios administrativos para os usuários quando se logam na máquina. Até mesmo os administradores rodam com um token de usuário limitado, sem poder gravar na chave do registro HKEY_LOCAL_MACHINE (onde ficam configurações globais, que afetam todas as contas e o sistema do Windows) nem alterar arquivos importantes do sistema.
Quando alguma ação precisa ser executada como administrador, como a instalação de um programa ou alteração de configuração global (como por exemplo, a definição do idioma da tela de logon e o default para novas contas), o Windows pede a confirmação num desktop separado. Isso impede que um programa tente simular um clique na tela, pois o clique seria dado no desktop anterior ao do aviso, onde os programas de usuário comum rodam. Na prática parece ser no mesmo desktop, mas não é. O Windows tira um bitmap da tela anterior, escurece a imagem e coloca de fundo num desktop isolado (por isso o Print Screen na tela do UAC nem funciona, o bitmap é copiado num ambiente isolado que é fechado logo que a janela do UAC sumir). Assim, um programa malicioso não tem como "clicar" no botão de confirmação do UAC, pois estará rodando no desktop do usuário.
Portanto não são meros avisos, há todo um sistema de bloqueio por trás. Um malware não consegue ser instalado corretamente, no máximo prejudicaria a conta em uso, trabalhando de forma parecida com os programas no Linux, onde o uso de conta limitada para usuários normais é bastante divulgado. É claro que se o malware pedir confirmação do UAC e o usuário aceitar, já era. É como se um ladrão disfarçado de funcionário da companhia telefônica perguntasse se pode entrar na sua casa e você autoriza explicitamente. No Windows, como falei anteriormente, boa parte da culpa de programas não rodarem como usuário comum fica por conta dos desenvolvedores. Uma aplicação certificada para Windows deve operar bem em modo de usuário limitado, ou então declaradamente exigir direitos administrativos, se for ferramenta de configuração ou algo que exige acesso diferenciado ao hardware.
As aplicações incluem uma "flag" para dizer como elas devem funcionar. Essa flag define basicamente se o programa pode rodar como usuário limitado ou se exige direitos administrativos (ou seja, se ele respeita as normas do Windows, grava configurações só na HKEY_CURRENT_USER e em pastas do usuário, nunca em pastas do sistema nem dentro da Arquivos de programas, etc). Geralmente programas específicos ou de administração, ou instaladores, exigem direitos administrativos, o que faz o aviso do UAC "pipocar" na tela. Sem autorizar, o programa não roda. Já boa parte dos programas de uso no dia-a-dia (um editor de textos, gravador de CD/DVD, editor de imagens, navegador web, etc) vêm com uma flag que permite o uso por usuários comuns, caso estejam logados ou sob UAC, ou por administradores, se for o caso de ter um administrador com UAC desativado.
Em programas anteriores ao Vista, que não incluem essa flag, é necessário rodá-los explicitamente como administrador, como comentei na parte de compatibilidade. É preciso rodar manualmente como administrador porque, sem a flag, o Windows não tem como saber se o programa deve rodar ou não de forma liberada. O redirecionamento do registro que comentei no começo do texto também não funciona em aplicações com essa flag, ele é uma ajuda para compatibilidade com aplicações antigas; não é um recurso que deve ser usado e explorado ao máximo (pelos desenvolvedores preguiçosos).
Se você desativar o UAC o Windows passa a se comportar exatamente como os NTs anteriores (há algumas diferenças de permissões nas contas de usuários comuns, power users e administradores entre o NT4, 2000, XP, 2003, etc, mas são pequenas). Com o UAC desativado os programas rodam diretamente como administrador, caso um administrador esteja logado. Isso permite que eles alterem arquivos do sistema, se programem para iniciar automaticamente para todas as contas, desativem serviços (seja diretamente ou via linha de comando do Windows, chamando os executáveis com parâmetros específicos), etc. O sistema fica muito mais vulnerável. Ainda assim pode-se dizer que é seguro, desde que o usuário saiba o que rode. Se você nunca infectou um PC com Windows XP ou 2000 usando diretamente a conta de administrador, provavelmente não irá infectar um Vista ou 7 com UAC desativado. Se precisa rodar programas suspeitos ou baixados de fontes não confiáveis, o melhor hoje em dia é usar uma máquina virtual, qualquer PC razoável atual roda bem um sistema virtualizado (recomendo ter 2 GB ou mais de RAM, mas dá para rodar com menos).
Só de curiosidade, essa flag é inclusa num recurso do executável (você pode ver e até mesmo editar usando o Resource Hacker ou sua ferramenta de programação preferida). É o mesmo recurso que ativa o suporte a temas visuais no Windows XP ou superior, na verdade uma adição no XML deste. Ele pode ser incluso num arquivo .manifest também (mas foge do tema abordar isso agora, é para programadores mesmo). Veja o do Firefox:
m5cdc17a8
Usando o Resorce Hacker você pode inclusive editar executáveis de terceiros. Colocando asInvoker o programa roda como for (se um usuário iniciar, vai como usuário; se um administrador iniciar, vai como administrador). Colocando requireAdministrator força o programa a sempre exigir direitos administrativos, o que impede que ele rode com contas limitadas, e caso o UAC esteja ativo, ele instrui o Windows a exibir o aviso solicitando elevação de privilégios. A MS destaca que a edição incorreta desse recurso pode fazer o Windows XP dar um erro de tela azul ao rodar o programa, então cuidado caso queira se aventurar. Ah, por fim, ao usar ambientes de desenvolvimentos não certificados para o Windows Vista pelo menos, pode ser um pouco difícil aplicar esse recurso na primeira vez. No caso do Delphi, por exemplo. Se você usar a unidade XPMan (XPManifest) e tentar embutir um recurso desse ele não vai deixar, pois duplicará o recurso. Nesse caso, remova de todos os arquivos do projeto a unidade XPMan e embuta o recurso por si mesmo, compilando usando o brcc32 ou outra ferramenta, ou até mesmo o Resource Hacker. Se você é usuário comum, ignore essas explicações :P

Projetores: tecle Win + P

Essa é uma dica de atalho bem rápida: teclando a tecla de logotipo do Windows junto com P surge uma pequena aplicação do Windows 7 para definição de como um projetor ou monitor extra deve se comportar:
m3b6d70ae
Isso é extremamente prático para quem vive conectando um projetor ou outro monitor. Em vez de dar toda aquela volta nas telas de propriedades da área de trabalho e vídeo, numa única tela simples e rápida você define se usará apenas a tela principal, se deve duplicar a tela (mesma imagem nas duas), estender (aumenta o espaço da área de trabalho, opção mais usada ao usar dois monitores) ou deixar a imagem apenas no projetor. Nesse caso a tela principal perde o sinal de imagem, o que pode causar um desespero se você fizer isso sem um projetor conectado - mas não se assuste, em alguns segundos o Windows detecta que não há outra tela e volta a exibir a imagem na tela principal.
Note que este atalho é simples e não substitui as propriedades de vídeo, onde você define qual é a tela principal, resolução dos monitores, etc.

Finalizando

Enfim, por hoje é tudo. Logo trarei mais dicas de Windows 7, um dos sistemas mais "redondos" da Microsoft, depois do XP. Durante o lançamento, o XP não recebeu tanta atenção como o 7 (ele recebeu bem mais críticas e a falta de compatibilidade com aplicações e drivers era bem maior) mas as coisas foram melhorando aos poucos. O Windows 7 já nasceu "num berço de ouro".
Por fim, duas coisas que recomendo ler para ficar a par do Windows 7 (como usuário comum): o blog da equipe do Windows (se possível veja em inglês, algumas coisas demoram muito para traduzirem):
E também a ajuda do Windows, é claro! Iniciar, Ajuda e Suporte... É um excelente livro de referência onde você pode descobrir novos recursos.
Se você ler bem em inglês e quiser dicas mais avançadas (ou de desenvolvimento melhor para Windows), os artigos da TechNet e MSDN são ótimos:
Novamente prefira a versão em inglês, pois muita coisa não é traduzida:

Nenhum comentário:

Postar um comentário