mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Fix updating with directories with whitespaces
This commit is contained in:
parent
8dee02e6fd
commit
319b84c949
@ -100,9 +100,9 @@ public class ApplicationStateManager
|
||||
|
||||
// Retain startup arguments after update by providing them to the script
|
||||
string script = Path.Combine(Constants.UpdatingFolder, "installing", "scripts", "update.ps1");
|
||||
string source = $"-sourceDirectory \"{Path.Combine(Constants.UpdatingFolder, "installing")}\"";
|
||||
string destination = $"-destinationDirectory \"{Constants.ApplicationFolder}\"";
|
||||
string args = argsList.Any() ? $"-artemisArgs \"{string.Join(',', argsList)}\"" : "";
|
||||
string source = $"-sourceDirectory \"'{Path.Combine(Constants.UpdatingFolder, "installing")}'\"";
|
||||
string destination = $"-destinationDirectory \"'{Constants.ApplicationFolder}'\"";
|
||||
string args = argsList.Any() ? $"-artemisArgs \"'{string.Join(',', argsList)}'\"" : "";
|
||||
|
||||
RunScriptWithOutputFile(script, $"{source} {destination} {args}", Path.Combine(Constants.DataFolder, "update-log.txt"));
|
||||
|
||||
@ -142,7 +142,7 @@ public class ApplicationStateManager
|
||||
string redirectSymbol = File.Exists(outputFile) && new FileInfo(outputFile).Length > 200000 ? ">" : ">>";
|
||||
ProcessStartInfo info = new()
|
||||
{
|
||||
Arguments = $"PowerShell -ExecutionPolicy Bypass -File \"{script}\" {arguments} {redirectSymbol} \"{outputFile}\"",
|
||||
Arguments = $"-ExecutionPolicy Bypass -File \"{script}\" {arguments} {redirectSymbol} \"{outputFile}\"",
|
||||
FileName = "PowerShell.exe",
|
||||
WindowStyle = ProcessWindowStyle.Hidden,
|
||||
CreateNoWindow = true,
|
||||
|
||||
@ -26,21 +26,21 @@ if ($process)
|
||||
}
|
||||
|
||||
# Check if the destination directory exists
|
||||
if (!(Test-Path "$destinationDirectory"))
|
||||
if (!(Test-Path $destinationDirectory))
|
||||
{
|
||||
Write-Error "The destination directory does not exist"
|
||||
Write-Error "The destination directory at $destinationDirectory does not exist"
|
||||
Exit 1
|
||||
}
|
||||
|
||||
# Clear the destination directory but don't remove it, leaving ACL entries in tact
|
||||
Write-Host "Cleaning up old version where needed"
|
||||
Get-ChildItem "$destinationDirectory" | Remove-Item -Recurse -Force
|
||||
Get-ChildItem $destinationDirectory | Remove-Item -Recurse -Force
|
||||
|
||||
# Move the contents of the source directory to the destination directory
|
||||
Write-Host "Installing new files"
|
||||
Get-ChildItem "$sourceDirectory" | Move-Item -Destination "$destinationDirectory"
|
||||
Get-ChildItem $sourceDirectory | Move-Item -Destination $destinationDirectory
|
||||
# Remove the now empty source directory
|
||||
Remove-Item "$sourceDirectory"
|
||||
Remove-Item $sourceDirectory
|
||||
|
||||
Write-Host "Finished! Restarting Artemis"
|
||||
Start-Sleep -Seconds 1
|
||||
@ -48,9 +48,9 @@ Start-Sleep -Seconds 1
|
||||
# When finished, run the updated version
|
||||
if ($artemisArgs)
|
||||
{
|
||||
Start-Process -FilePath "$destinationDirectory\Artemis.UI.Windows.exe" -WorkingDirectory "$destinationDirectory" -ArgumentList $artemisArgs
|
||||
Start-Process -FilePath "$destinationDirectory\Artemis.UI.Windows.exe" -WorkingDirectory $destinationDirectory -ArgumentList $artemisArgs
|
||||
}
|
||||
else
|
||||
{
|
||||
Start-Process -FilePath "$destinationDirectory\Artemis.UI.Windows.exe" -WorkingDirectory "$destinationDirectory"
|
||||
Start-Process -FilePath "$destinationDirectory\Artemis.UI.Windows.exe" -WorkingDirectory $destinationDirectory
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user