segunda-feira, 20 de fevereiro de 2012

Windows 7 e seus arquivos JAR

Digamos que você tenha um programa Java armazenado em um arquivo JAR. Para executar seu programa em qualquer sistema operacional, basta executar:

java -jar seu_arquivo.jar

E tudo está resolvido.

Quem usa Windows geralmente não acha uma janela de terminal muito cômoda. O que você faz então? Cria uma associação de extensão no Windows Explorer! Isso é fácil e fazemos isto já faz tanto tempo que não lembro quando comecei a fazer isso.

Mas mais uma vez a Micro$oft quis inovar! No Windows 7 já não é possível associar uma extensão a um programa e editar as propriedades dessa associação (como por exemplo, executar java -jar <parâmetro> aonde parâmetro é o arquivo em que você deu duplo clique).

E por que isso? Segurança? O usuário comum do Windows é burro demais para fazer isto sozinho?

Eu não sei dizer a razão... mas agora se você quiser fazer a mesma coisa para poder executar aquele seu programa Java dentro de um JAR com um simples duplo clique você deve abrir o seu editor de registro favorito e mandar brasa em uma das muitas, mas muitas chaves existentes dentro do pedaço de m¨%#@da chamado Registry do Windows. Olha só como ficou a nova associação de extensões no Windows 7:

Com um único screenshot já consegui mostrar tudo o que você consegue fazer. Quase nada.

Recorri ao santo Google e descobri o programa Jarfix (http://johann.loefflmann.net/en/software/jarfix/index.html#Download) que faz este trabalhinho ingrato para você. O programa é freeware, é pequeno e resolve rapidamente esta questão de associação de arquivos JAR.

Agora já posso editar as tags dos meus arquivos MP3 com tranquilidade usando o Fixtag (http://fixtag.sourceforge.net/)!

segunda-feira, 13 de fevereiro de 2012

Adios becape do Windows!

É muito provável que você um dia na vida tenha usado o Windows XP.

É esperado que você faça becape dos dados importantes do seu computador (você faz, não?) mas o que acontece quando você tem arquivos de becape feitos pela ferramenta de becape do Windows XP (vide http://support.microsoft.com/kb/320820) e depois faz upgrade para um sistema operacional mais recente da Micro$oft?

A resposta é simples: você se dá mal!

À partir do Windows 2003 esses arquivos de becape não são mais suportados pela Micro$oft, que em sua grandiosa genialidade, chegou a conclusão que os arquivos de becape não são mais necessários quando ela descontinua um produto.

Eu tentei recuperar um arquivo de becape antigo pelo Windows 7 e descobri à duras penas que não dá para fazer isto mais já que para instalar o programa que, em teoria daria suporte a isto, descobri que eu ainda precisava de um recurso de "Removable Storage Manager" que simplesmente não existe no Windows 7 (vide este link aqui). Boa Micro$oft, mais uma cagada para seu currículo!

Depois me perguntam porque eu gosto tanto de software livre: alguma boa alma desenvolveu um programa em C chamado mtftar (http://gpl.internetconnection.net/mtftar.readme) que felizmente resolveu o problema para mim. Bastou usar o dual boot do meu computador, passar para o Ubuntu e executar a sequência de comandos abaixo em um shell:

tar xzvf mtftar.tar.gz
cd mtftar
make

E depois é só seguir as instruções do programa para recuperar os arquivos. A única coisa que faltou para a solução ser perfeita foi um pacote DEB para Debian GNU Linux e similares. Alguém aí se habilita?