É possível orientar a instalação de novos programas usando% ProgramFiles%? [fechadas]

2

O objetivo é ter as pastas padrão de "arquivos de programas" (32 e 64 bits) localizadas em um caminho arbitrário, possivelmente em uma unidade separada de onde o Windows mora.

Inicialmente, pensei que isso poderia ser feito usando uma variável de ambiente do sistema através da caixa de diálogo localizada no Painel de Controle - > Sistema - > Avançado - > Variáveis de ambiente . Essas variáveis foram definidas no registro, sob a chave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion . No entanto, uma entrada específica é confusa. A entrada ProgramFilesPath parece apontar para uma variável de ambiente que não está definida na mesma chave de registro.

Eu poderia supor que a diferença entre ProgramFilesDir e ProgramFilesPath não é nenhuma e que uma delas existe como compatibilidade reversa, mas ter algum recurso legítimo da Microsoft para analisar seria melhor do que adivinhar.

Depois de receber alguns comentários, sobre ter aplicativos de 32 e 64 bits na mesma pasta, decidi não perguntar sobre a viabilidade disso para evitar discussões.

A verdadeira questão é se o efeito desejado é possível "cortando" o processo de configuração do Windows e modificando as entradas do registro o mais cedo possível. Essas configurações devem ser em todo o sistema e não apenas para software instalado por um usuário específico. Se isso é realmente algo que pode ser feito, pergunto-me se há alguma armadilha sutil.

Programas que esperam que bibliotecas e outros recursos estejam em locais padrão provavelmente podem ser tratados usando a mesma técnica empregada pelo Windows para mapear novamente as pastas "Documents and Settings" e similares (isto é, quebrar aplicativos legados não é real preocupação).

    
por Ярослав Рахматуллин 25.11.2012 / 18:12

1 resposta

0

Sim, alterar a variável deve fazer com que os novos programas padrão estejam na nova pasta, mas também faz com que o Windows (e qualquer programa - codificado adequadamente) use a variável ) procurar na nova pasta por programas em geral. Como resultado, ele quebrará o software que já está instalado pelo menos algum grau.

Dependendo do software, os caminhos para eles podem ou não estar codificados durante a instalação. Se eles não estiverem codificados e usarem a variável, os programas não serão mais encontrados. Se eles forem codificados, eles (ou pelo menos devem) continuarão sendo executados, mas outros efeitos colaterais podem se manifestar, como o Windows e outros programas que executam operações em programas instalados (como limpeza de arquivos temporários, verificação de atualizações, etc.) pode ou não ser capaz de vê-los dependendo de como eles são codificados.

O ponto é que é melhor alterar a variável antes ou durante (ou no máximo, imediatamente após) a instalação do Windows. Fazê-lo mais tarde, especialmente depois de já ter instalado programas (particularmente programas grandes que se aprofundam no sistema como a maioria dos programas da Microsoft) é uma má ideia e repleta de riscos.

(Na verdade, embora o objetivo de usar variáveis seja facilitar as alterações, o fato é que sempre é arriscado fazer alterações em caminhos como Program Files e Windows , não importa quando você o altera, porque alguns programas - incluindo o Windows - terão inevitavelmente um pedaço de código que espera que as coisas estejam em um local específico e, assim, serão quebrados se você alterá-lo.

    
por 25.11.2012 / 22:16