対応する環境変数をプロセスに渡す際に問題が発生しています。以下に私のコードの一部を示しますので、私がやろうとしていることを理解することができます。
実行する必要がある 2 つの EXE ファイルがあります。プロセスは、環境変数の場所に基づいていくつかの更新を実行します%MainFiles%
。コードを実行すると、EXE ファイルが変更を認識していないようです。ただし、コンピューターのプロパティの下を見ると、変数が正しく変更されていることがわかります。
プロセスに変更を強制的に認識させる方法を知っている人はいますか? ありがとう
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
.
.
.