21 lines
813 B
PowerShell
21 lines
813 B
PowerShell
. "$PSScriptRoot/../../Scripts/Context.ps1";
|
|
|
|
$null = New-Module {
|
|
$path = "$env:LOCALAPPDATA/LGHUB";
|
|
$softwareName = "LGHub";
|
|
|
|
function Invoke-BackupLGHub([Context] $context) {
|
|
$hubName = "lghub.exe";
|
|
$hubPath = $(Get-Process | Where-Object { [System.IO.Path]::GetFileName($_.Path) -eq $hubName })[0].Path;
|
|
|
|
$mainProcesses = Get-Process | Where-Object { @($hubName, "lghub_system_tray.exe") -contains [System.IO.Path]::GetFileName($_.Path) -and $(
|
|
$_.Parent.ProcessName -eq "explorer" -or $null -eq $_.Parent) };
|
|
|
|
$mainProcesses | Foreach-Object { $_.Kill($true) };
|
|
$context.Backup($path, $context.SoftwareArchive($softwareName), @("-i!settings.db", "-i!icon_cache"));
|
|
|
|
if ($hubPath) {
|
|
Start-Process $hubPath;
|
|
}
|
|
}
|
|
}
|