5
対応する環境変数をプロセスに渡す際に問題があります。下に私のコードの一部が表示されますので、私がしようとしていることを理解することができます。変数が複数回変更されたときにPowerShell 2.0のプロセスに環境変数を渡す
実行する必要がある2つのEXEファイルがあります。プロセスは、環境変数%MainFiles%
の場所に基づいていくつかの更新を実行します。コードを実行すると、EXEファイルが変更を認識しないようです。しかし、コンピュータのプロパティを見てみると、変数が正しく変更されていることがわかります。
どのようにプロセスに強制的に変更を認識させることができますか?これを設定する前に、残念ながら、PowerShellはすでに開始した
[System.Environment]::SetEnvironmentVariable("MainFiles", "$Temp","Machine")
: おかげ
while ($i -lt $Size) {
if ($TempEnv[$i] -eq "Done"){
$ExitCode="Completed"
return
} else {
$Temp = $TempEnv[$i]
Write-Host ("Starting Update for " + $Temp) -foregroundcolor "Green"
[System.Environment]::SetEnvironmentVariable("MainFiles", "$Temp","Machine")
[System.Environment]::GetEnvironmentVariable("MainFiles","Machine")
Copy-Item $CopyInstallData -destination $Temp
$process = Start-Process XMLUpgrade.exe -WorkingDirectory "C:\Program Files\Dtm" -wait
$process = Start-Process Update.exe -WorkingDirectory "C:\Program Files\Dtm" -wait
.
.
.