Windows

Como converter arquivo .exe em .msi

Hoje precisei converter um arquivo .exe em .msi para realizar testes de instalação via GPO.

Nunca tinha feito isto, apenas tinha ouvido falar de um método usando um utilitário contido no CD de instalação do Windows 2000.

Fiz uma pesquisa no Google e encontrei o “Como fazer” utilizando este método no Baboo. Realmente parece interessante. Pensei em fazer usando uma máquina virtual no Virtual PC, pois em suma, o procedimento consiste em pegar uma máquina limpa, instalar o utilitário e gerar uma “imagem” do sistema limpa. Em seguida instalar o programa que deseja criar o pacote .msi à partir do arquivo .exe.

Ao fim, gerar outra imagem usando o utilitário do Windows 2000. Assim ele irá comparar as duas imagens e com o que encontrar de diferente, devido à instalação do programa, ou seja, dll’s, executáveis, bibliotecas, etc, irá comparar as duas imagens e gerar um pacote.msi com as diferenças.

O link para o tutorial do Baboo é: http://www.baboo.com.br/conteudo/modelos/MSI-Windows-Installer-Criando-seus-proprios-pacotes-MSI-para-distribuicao_a4137_z0.aspx

Como este método parece ser bastante trabalhoso, continuei procurando na internet e encontrei uma ferramenta gratuita para criar arquivos .msi à partir de .exe.

Para a minha necessidade, serviu perfeitamente. Segue o link: http://www.qwertylab.com/download/ExetomsiSetup.msi

Como bloquear pendrive definitivamente

Recentemente, fiz um post aqui citando um programa para fazer o bloqueio/desbloqueio de pendrives. Este post você pode conferir aqui: http://ricardomartins.com.br/2010/08/15/como-bloquear-pendrive/

Hoje descobri que este programa tem um problema que é o seguinte: Ele só funciona, fazendo o bloqueio do pendrive, caso o pendrive já tenha sido plugado na máquina antes. Caso seja um pendrive novo, ele não funciona.

Isso mesmo! Se você pegar um pendrive que nunca tenha sido ligado na máquina onde tenha utilizado o software para bloquear, ele é reconhecido normalmente.

O que ocorre é que ao clicar em “Lock” no software, ele altera o valor da seguinte chave no registro:  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start. No caso, muda o valor de 3 para 4 de modo a bloquear. Mas ao plugar um pendrive que ainda não tenha sido utilizado na máquina em questão, o Windows volta o valor da chave para 3, deixando desbloqueado.

Isso porque ao conectar um pendrive, ele é detectado pelo arquivo C:\Windows\system32\DRIVERS\USBSTOR.SYS e caso ele já “conheça” esse pendrive, ele mantém o valor da chave como está. Caso ele não conheça, ele altera o valor da chave no registro para 3, para poder instalar o driver do pendrive.

Assim acaba desfazendo a modificação feita pelo software. Por esta razão, o ideal continuava sendo o método tradicional ( já postado aqui também – http://ricardomartins.com.br/2009/04/10/bloqueando-pendrives-no-windows-facil-facil/), que consiste em negar permissões nos arquivos usbstor.inf, usbstor.pnf e usbstor.sys e alterar a chave do registro citada acima.

Para resolver este problema e facilitar a minha vida, hoje eu fiz um script em vbs, que muda o valor da chave do registro, e altera as permissões dos arquivos. Assim, ao invés de ter que ir em cada arquivo e mecher nas permissões, o script faz tudo pra mim.

Eu fiz dois scripts, um para bloquear e outro para desbloquear. Eu poderia criar um script, que perguntasse o que fazer, no caso, bloquear ou desbloquear, e ele executar as ações necessárias de acordo com a resposta. No entanto como não sou nenhum expert em programação vbs, este já está muito bom para a minha necessidade.

Abaixo o código. Basta copiar e colar no notepad e salvar como “Bloqueia.vbs” e “Desbloqueia.vbs”

É um script simples, onde utilizo o cacls para alterar as permissões. Para quem não conhece, o cacls é um comando nativo do Windows, para mudar permissões de arquivos via console.

Você também poderá notar que eu configurei para mudar as permissões para os usuários TODOS e EVERYONE. Isto não é uma redundância desnecessária. É que assim não tenho problemas com o idioma do SO. Caso seja pt_br, irá funcionar pelo TODOS, caso contrário, pelo EVERYONE.

Abaixo o código do “Bloqueia.vbs”:


'Script para Bloquear Pendrive - Ricardo Macedo Martins
'Inicio do script
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",4,"REG_DWORD"
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P EVERYONE:N", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P TODOS:N", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P SYSTEM:N", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P EVERYONE:N", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P TODOS:N", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P SYSTEM:N", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P EVERYONE:N", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P TODOS:N", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P SYSTEM:N", 0 , True
MsgBox "Pendrive Bloqueado!",0,"Informacao"
'Fim do script

Abaixo o código do “Desbloqueia.vbs”:


'Script para Bloquear Pendrive - Ricardo Macedo Martins
'Inicio do script
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",3,"REG_DWORD"
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P EVERYONE:F", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P TODOS:F", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /P SYSTEM:F", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P EVERYONE:F", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P TODOS:F", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /P SYSTEM:F", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P EVERYONE:F", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P TODOS:F", 0 , True
WshShell.Run "cacls C:\Windows\system32\drivers\usbstor.sys /E /P SYSTEM:F", 0 , True
MsgBox "Pendrive Desbloqueado!",0,"Informacao"
'Fim do script

Se você preferir, eu coloquei os scripts disponíveis para download. Clique aqui para baixar.

Até a próxima!

VMLite: Alternativa para o Windows XP Mode do Windows 7

O Windows 7 tem muitas características novas, das quais um recurso muito interessante é o Windows XP Mode, que permite rodar o Windows XP em seu Windows 7. No entanto, para utilizar o Windows XP Mode você deve ter o Windows 7 Professional ou Ultimate e o computador deve ter suporte à virtualização à nível de hardware.

Devido aos requisitos acima muitos usuários não são capazes de utilizar o Windows XP Mode. Aqui está o VMLite, uma alternativa para o Windows XP Mode.

O VMLite XP Mode oferece funções similares ao Microsoft XP Mode, mas não obriga a virtualização de hardware. Ele permite que você execute o Windows XP simultâneamente com seu desktop rodando em um host com sistema operacional diferente.

VMLite XP Mode:

Download VMLite XP Mode – Windows 7

Download do disco de restauração do Windows 7

A maioria dos usuários estão impressionados com o mais recente sistema operacional Microsoft Windows 7 graças ao marketing agressivo da Microsoft.

Infelizmente, a maioria dos fabricantes de computadores não fornecem o DVD de instalação do Windows 7. Ao invés disto, eles disponibilizam o que eles chamam de “disco de recuperação”, que nada mais é que uma imagem da instalação padrão de fábrica.

Sem o disco de instalação seria impossível você recuperar uma instalação do Windows 7, e o jeito acaba sendo restaurar a imagem contida no “disco de recuperação”.

Felizmente, a Microsoft parece ter percebido esse problema, e criou um disco de recuperação para este fim.

Ele possui o conteúdo do “centro de restauração” dos DVD’s do Windows 7 que não pode ser usado para instalar ou reinstalar o Windows 7, mas serve apenas como uma interface Windows PE para recuperar o seu PC.

Aqui está o “Windows 7 Recovery Disc”, que pode ser usado para acessar um menu de recuperação do sistema, que vai permitir usar as opções de Restauração do Sistema, do Complete PC Backup, a reparação do sistema automatizada, e um prompt de linha de comando para recuperação manual avançada.

Download Windows 7 Recovery Disc (32-bit)

Download Windows 7 Recovery Disc (64-bit)

Fonte: Neosmart

Ebooks Gratuito Microsoft Presss

Pessoal,
Abaixo alguns e-books disponibilizados gratuitamente pela Microsoft Press