Existe uma maneira de isolar um aplicativo de variáveis de ambiente para testar o código?

0

Estou desenvolvendo um aplicativo no Windows que faz uso dos arquivos DLL disponíveis na variável PATH do sistema. Esses DLL s estão no meu my PATH para meu ambiente de desenvolvimento. No entanto, o aplicativo em si é portátil e vem com suas próprias dependências. Existe uma maneira de obscurecer variáveis de ambiente de um aplicativo / processo para que eu possa testar meu código para portabilidade sem ter que modificar variáveis globais?

    
por hazrmard 03.02.2017 / 00:29

2 respostas

1

Crie um arquivo bat / cmd e substitua o PATH, em seguida, almoce seu aplicativo a partir do mesmo arquivo bat / cmd

@echo off

Path=C:\TestPath

REM test it that is was overridden 
echo %Path%

REM Lunch your app below
c:\path\to\your\app.exe
    
por 03.02.2017 / 00:39
0

A resposta de Alex foi útil. Eu converti isso em uma função do PowerShell que posso adicionar ao meu $profile , para que esteja sempre disponível:

function sandbox {
    Write-Output "$args"
    $tempPATH = $env:PATH
    $env:PATH = ""
    if ("$args"[0] -eq '"') { iex "& $args" }
    else { iex "$args" }
    $env:PATH = $tempPATH
}

Agora, sempre que eu chamar sandbox SOME_COMMAND , a função esvazia PATH , executa o comando e restaura a variável novamente.

    
por 09.02.2017 / 01:56