-->

segunda-feira, 14 de janeiro de 2008

Altiris SVS - 1a parte

Vocês devem lembrar que há algumas semanas eu falei sobre como a virtualização com o Thinstall poderia ser útil. Mas infelizmente, além do Thinstall ser caro prá caramba, falha em algumas situações. Meu problema estava sendo com o Delphi 5 e o Delphi 7, que pareceram funcionar no teste inicial mas bastou ir um pouquinho adiante no uso dos programas para ver que não dava para usá-los como ThinEXEs. Talvez exista um jeito de contornar isso, mas eu não descobri ainda.

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;

6 comentários:

  1. Jefferson,

    Só 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.

    ResponderExcluir
  2. Fernando,

    1) 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...

    ResponderExcluir
  3. Alexandre Breveglieri16/1/08 08:15

    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.

    Quanto 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.

    ResponderExcluir
  4. Jefferson,
    Na 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?

    ResponderExcluir
  5. Leia com atenção todo o texto de SVSDriveSwitch, incluindo os comentários.

    ResponderExcluir
  6. Jefferson vc conseguiria localizar o link do demo de 33Mb ?

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.