Resolvi escrever esse post por causa de um problema que tive na instalacao do Framework .Net 3.5.Para falar a verdade e um problema especifico que acontece por falta de permissao do usuario que efetua a instalacao, mas como esse cenario e comum nas empresas hoje em dia, tenho certeze que vai servir para alguem.Para detalhar o problema, preciso explicar como funciona a rede na empresa onde trabalho. La os computadores ficam em baixo do piso. Os desenvolvedores nao tem acesso fisico a maquina. Nao podemos nem desligar as benditas! Eu fiz isso no primeiro dia. No dia seguinte, tiveram que chamar o tecnico. Que vergonha, o sujeito teve que levantar o piso e colocar metade do corpo dentro do chao para religar a maquina. Uma cena bizarra!Bom, a rede nao poderia ser diferente. Tudo e controlado de forma rigida. Tive que assinar dois documentos: um para autorizar a criacao do meu usuario na rede; outro para justificar o motivo de meu usuario necessitar privilegios de administrador do computador.Apesar de tudo isso, nao tenho controle total sobre meu computador. Existem algumas normas configuradas no Active Directory (AD) que me impedem de acessar recursos como: adicionar e remover programas, papel de parede do desktop, entre outras configuracoes do Windows.Para verificar se o Service Pack 2 (SP2) do Framework .Net 2.0 estava instalado, eu precisei criar um usuario no meu computador, com privilegios de administrador, sair da sessao (logoff) e entrar com esse usuario local. So dessa forma consegui acessar a opcao adicionar e remover programas do Windows.Tendo esse cenario em vista, comecam os problemas. Eu precisava instalar o Visual Studio 2008! E logo na primeira etapa, que e justamente a instalacao do Framework .Net 3.5, o instalador abortava e saia da instalacao com erro. Tentei primeiro diversas coisas como: reiniciar o computador, limpar o registro, logar com um usuario local, fora da rede etc.Comecei a descobrir a solucao quando baixei um pacote de instalacao do .Net 3.5 separado da instalacao do Visual Studio.Download do pacote completo de redistribuicao do Framework .Net 3.5http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exePelo log do instalador, eu vi que o problema era em um componente chamado XPSEPSC que estava causando o erro. Eu descobri um link para baixar e instalar separadamente o tal componente problematico.Instalador do XPSEPSChttp://www.download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsepsc-x86-en-us_f01c40d4ce7a451a51724bb2c44c164d063938e6.exeNesse momento eu vi uma mensagem de erro na instalacao do XPSEPSC que me chamou a atencao. Alguma coisa dizendo que eu precisava de priviegios administrativos para continuar na instalacao. Percebi entao que o problema era de seguranca e alguma norma do AD estava interferindo em minha instalacao.Nas pesquisas que fiz, descobri que este problema tambem se apresenta na forma de uma mensagem de erro que informa um termo "return value 3".Para resolver, encontrei um pacote de ferramentas para administracao e manutencao de servidores de forma remota. Chama PSTools. Nesse pacote tem uma ferramenta sensacional chamada PSExec.exe. Essa ferramenta faz uma impersonalizacao - se e que essa palavra existe - mas basicamente ela executa uma outra aplicacao "por voce" com identidade do usuario System, que e o usuario local com permissao total no Windows.Instalador do PSToolshttp://technet.microsoft.com/en-us/sysinternals/bb897553.aspxO PSTools e um