No caso do Delphi, eu não preciso da isolação proporcionada por uma sandbox e posso até dispensar a portabilidade. O que eu preciso mesmo é ter os dois instalados no mesmo computador sem que a instalação de um interfira com a do outro. Esse é um problema que muitos de você devem ter experimentado pelo menos uma vez, com algum conjunto de softwares.
A solução para o meu problema até agora está sendo o Altiris SVS Personal. Esse é um programa de visualização que é gratuito para uso não comercial e que opera de forma radicalmente diferente do Thinstall. Não existe sandbox, mas assim como no Thinstall programas complexos como o Delphi conseguem ser rodados no seu sistema e depois "removidos" com dois cliques, como se nunca tivessem sido instalados.
Nota: o programa não é novidade. Eu é que só tomei conhecimento dele há uma semana.
O SVS usa o conceito de "camadas". Você cria uma camada e instala o programa com essa camada ativa. Quando você desativa a camada o programa instalado "some" em segundos como se nunca tivesse sido instalado. Associações de arquivos, atalhos no Menu Iniciar, opções no menu de contexto do Explorer e tudo o mais relacionado com o programa simplesmente desaparece da vista (sua e do sistema operacional). Você reativa a camada e o programa com tudo o que é associado a ele "reaparece".
Isso é uma coisa que o Thinstall não consegue imitar. E pode ser bastante desejável em muitas situações.
Se você consegue entender inglês falado (não sou fluente mas entendi 90%), confira o demo nesta página (prefira o WMV de 33MB). É de cair o queixo :)
Outras coisas que apurei:
- O SVS não opera como um rootkit. O conteúdo das camadas sempre pode ser encontrado na pasta oculta c:\fslrdr (o local pode ser personalizado com programas extras);
- Arquivos criados por um programa rodando em uma camada são gravados na camada e somem junto com esta quando você a desativa. Mas você pode criar "zonas de exclusão" onde se o programa gravar lá, está gravando diretamente na base e não na camada;
- Por default já existem duas zonas de exclusão programadas: o desktop e a pasta Meus Documentos;
- Pela forma como funciona, o SVS não te protege contra malware. O objetivo do programa não é esse. O programa rodando na camada criada pelo SVS não tem o mesmo acesso que um programa instalado diretamente no SO, mas não roda completamente isolado;
- Por exemplo: Se você acessar um arquivo da base através da camada e deletá-lo, ele some da base mesmo, mesmo que não seja de uma zona de exclusão. Ele não vai reaparecer quando você desativar a camada;
- Cada camada é composta por duas sub-camadas. Uma é chamada "Read Only" (RO) e contém tudo o que foi capturado na criação da camada. A outra é a "Read-Write" (RW) e contém tudo o que foi criado na camada depois da captura. Quando você "reseta" a camada, a sub-camada RW é apagada, deixando a aplicação do jeito que era quando foi capturada;
- Com uma camada ativa, meu Explorer fica meio lerdo, mais ou menos como ocorre quando uma máquina virtual Java está ativa no meu PC;
- Infelizmente, .NET Framework 2.0 não pode ser instalado em uma camada. Eu tentei :)
- Você pode facilmente exportar camadas para arquivos *.vsa e depois importá-las em outro PC (ou no mesmo) com o SVS instalado. Uma das vantagens disso é que posso ter cópias de backup da instalação do Delphi com todas as minhas configurações e acréscimos que eu posso recuperar sem ter que fazer um "rollback" geral da partição (Norton Ghost, Acronis True Image, etc);
- As camadas podem interagir umas com as outras e com a base;
Como conseguir a versão Personal
- Baixe o programa aqui ou aqui;
- Ao instalar, vai pedir a Product key. Clique no botão "Get it free!";
- O seu browser vai abrir exibindo a EULA. Leia e clique em Accept;
- Você vai ser redirecionado para outra página e ao mesmo tempo vai iniciar o download de um arquivo .zip. Dentro desse arquivo tem um arquivo .txt com o texto da EULA e a Product key;
Jefferson,
ResponderExcluirSó a titulo de curiosidade, quais os problemas de ter o Delphi 5 e o Delphi 7 instalados na mesma maquina?
Já tive o delphi 5, 6 e 7 instalado na mesma maquina e nunca tive problema entre eles.
Fernando,
ResponderExcluir1) Eu comecei a ter um problema muito desagradável depois que passei a ter as duas versões na máquina: Os hints/toolptips de ambas as versões passaram a aparecerer "apenas quando queriam". Debugar virou um problema porque ao inserir um breakpoint não adiantava passar o mouse por cima das variáveis porque o valor não aparecia. Eu precisava usar "Inspect..." o tempo todo. Isso começou há dois anos e já aconteceu em pelo menos três PCs diferentes. Não houve nada que eu pudesse fazer para consertar. Já estou há 15 dias com o Delphi isolado pelo SVS e ainda não me deparei com o problema.
2) Este é mais um problema de utilização descuidada:
Eu tenho projetos que são do Delphi 5 e outros do Delphi 7. Componentes usados no Delphi 5 não estão necessariamente instalados no Delphi 7 e vice-versa. Devido à associação de arquivos ser apenas para um dos dois, abrir um projeto clicando suas vezes no Explorer muitas vezes abria a versão errada do Delphi e as mensagens de erro de falta de componente se sucediam. Se eu fosse descuidado podia acabar salvando o projeto sem os componentes. Click-Click-Click-Click-Click-(Arghh! CLICK no botão errado!) Fiz isso mais de uma vez.
3)Eu tinha outros problemas esquisitos menores que estava atribuindo à presença de ambos no PC, mas se você não teve problemas com eles...
Eu tenho o Delphi 3, o 5 e também instalei uma tal de versão 7 SE, que é um Delphi 7 "melhorado", com correção de alguns bugs e sem suporte algum para BDE. Basicamente eu uso o 3 e esse 7 SE sem problemas, tirando a associação de arquivos, que não funciona nem com o "Abrir Com...". Sempre só abre no 7.
ResponderExcluirQuanto ao backup do Delphi instalado, eu copio a pasta inteira dele (eu uso todos os componentes de terceiros dentro da pasta LIB do próprio Delphi), alguns arquivos que ele coloca na pasta System32 do WinXP e salvo a chave da Borland dentro da LOCAL_MACHINE do registro. Já formatei o HD algumas vezes e sempre consegui voltar para o Delphi da mesma forma que estava antes, com todos os componentes e ajustes feitos.
Jefferson,
ResponderExcluirNa sua matéria vc diz que: "o local pode ser personalizado com programas extras". Gostaria de saber como poderia modificar o local c:\fslrdr, para uma outra unidade?
Leia com atenção todo o texto de SVSDriveSwitch, incluindo os comentários.
ResponderExcluirJefferson vc conseguiria localizar o link do demo de 33Mb ?
ResponderExcluir