variável de ambiente% PROGRAMFILES% com 2 execuções

0

Eu quero instalar um programa com um arquivo em lote na pasta Arquivos de Programas . Depois eu quero copiar uma pasta para a mesma pasta. Aqui está um exemplo:

SET SCRIPT_LOCATION=%~dp0
SET INSTALLATION_PATH=%PROGRAMFILES%\example program

"%SCRIPT_LOCATION%\example program\setup.exe"

Agora, os arquivos adicionais devem ser copiados para a pasta do programa:

xcopy "%SCRIPT_LOCATION%\additional_files" "%INSTALLATION_PATH%example program\additional_files" /E

O problema é que o programa suporta apenas 32 bits. Isso significa que o programa será instalado em "C: \ Arquivos de Programas (x86) \ programa de exemplo" em uma máquina de 64 bits.

Mas quando a cópia é executada, os arquivos serão instalados em "C: \ Arquivos de Programas \ exemplo de programa \ arquivos adicionais" . Mas os arquivos adicionais devem ser instalados no mesmo caminho que o programa.

Eu sei que os sistemas operacionais decidem qual caminho deve ser usado quando % PROGRAMFILES% é usado. O SO verifica se o programa suporta maschines de 64 bits ou não.

Acho que uma possível solução seria pedir o tipo de máquina (32/64 bits) e decidir se % PROGRAMFILES% ou % PROGRAMFILES (x86)% devem ser usado com uma cláusula if. Ou existe uma maneira de analisar o caminho da instalação para uma variável e usá-lo posteriormente para a cópia?

Existem outras maneiras legais de incluir variáveis de ambiente para o meu problema?

    
por TaXXoR 22.07.2014 / 13:22

0 respostas