Merge pull request #725 from Romanitho/mods

Add mods on WAU.msi install
pull/729/head v1.22.2-n
Romain 2024-10-01 00:33:52 +02:00 committed by GitHub
commit fb6ebdc2a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 23 additions and 5 deletions

View File

@ -2,6 +2,7 @@
param( param(
[Parameter(Mandatory = $false)] [string] $AppListPath, [Parameter(Mandatory = $false)] [string] $AppListPath,
[Parameter(Mandatory = $false)] [string] $InstallPath, [Parameter(Mandatory = $false)] [string] $InstallPath,
[Parameter(Mandatory = $false)] [string] $CurrentDir,
[Parameter(Mandatory = $false)] [string] $Upgrade, [Parameter(Mandatory = $false)] [string] $Upgrade,
[Parameter(Mandatory = $False)] [Switch] $Uninstall = $false [Parameter(Mandatory = $False)] [Switch] $Uninstall = $false
) )
@ -9,6 +10,7 @@ param(
#For troubleshooting #For troubleshooting
Write-Output "AppListPath: $AppListPath" Write-Output "AppListPath: $AppListPath"
Write-Output "InstallPath: $InstallPath" Write-Output "InstallPath: $InstallPath"
Write-Output "CurrentDir: $CurrentDir"
Write-Output "Upgrade: $Upgrade" Write-Output "Upgrade: $Upgrade"
Write-Output "Uninstall: $Uninstall" Write-Output "Uninstall: $Uninstall"
@ -120,6 +122,13 @@ function Install-WingetAutoUpdate {
Copy-Item -Path $AppListPath -Destination $InstallPath Copy-Item -Path $AppListPath -Destination $InstallPath
} }
#Copy Mods to install folder
$ModsFolder = Join-Path $CurrentDir "Mods"
if (Test-Path $ModsFolder) {
Write-Output "-> Copying $ModsFolder to $InstallPath"
Copy-Item -Path $ModsFolder -Destination "$InstallPath" -Recurse
}
#Secure folders if not installed to ProgramFiles #Secure folders if not installed to ProgramFiles
if ($InstallPath -notlike "$env:ProgramFiles*") { if ($InstallPath -notlike "$env:ProgramFiles*") {
@ -157,7 +166,7 @@ function Install-WingetAutoUpdate {
#Add 1 to Github counter file #Add 1 to Github counter file
try { try {
Invoke-RestMethod -Uri "https://github.com/Romanitho/Winget-AutoUpdate/releases/download/v$($WAUconfig.ProductVersion)/WAU_InstallCounter" | Out-Null Invoke-WebRequest -Uri "https://github.com/Romanitho/Winget-AutoUpdate/releases/download/v$($WAUconfig.ProductVersion)/WAU_InstallCounter" -UseBasicParsing | Out-Null
Write-Host "-> Reported installation." Write-Host "-> Reported installation."
} }
catch { catch {
@ -183,7 +192,7 @@ function Uninstall-WingetAutoUpdate {
Get-ScheduledTask -TaskName "Winget-AutoUpdate-UserContext" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False Get-ScheduledTask -TaskName "Winget-AutoUpdate-UserContext" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False
Get-ScheduledTask -TaskName "Winget-AutoUpdate-Policies" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False Get-ScheduledTask -TaskName "Winget-AutoUpdate-Policies" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False
#If upgrade, keep app list. Else, remove. #If upgrade, keep app list and mods. Else, remove.
if ($Upgrade -like "#{*}") { if ($Upgrade -like "#{*}") {
Write-Output "-> Upgrade detected. Keeping *.txt app lists" Write-Output "-> Upgrade detected. Keeping *.txt app lists"
} }
@ -193,6 +202,7 @@ function Uninstall-WingetAutoUpdate {
Write-Output "-> Removing items: $AppLists" Write-Output "-> Removing items: $AppLists"
Remove-Item $AppLists -Force Remove-Item $AppLists -Force
} }
Remove-Item "$InstallPath\mods" -Recurse -Force
} }
$ConfFolder = Get-Item (Join-Path "$InstallPath" "config") -ErrorAction SilentlyContinue $ConfFolder = Get-Item (Join-Path "$InstallPath" "config") -ErrorAction SilentlyContinue

View File

@ -11,9 +11,14 @@ function Update-WAU {
#Run WAU update #Run WAU update
try { try {
#Download the msi
Write-ToLog "Downloading the GitHub Repository version $WAUAvailableVersion" "Cyan" Write-ToLog "Downloading the GitHub Repository version $WAUAvailableVersion" "Cyan"
$MsiFile = "$env:temp\WAU.msi"
#Create an unpredictable temp folder for security reasons
$MsiFolder = "$env:temp\WAU_$(Get-Date -Format yyyyMMddHHmmss)"
New-Item -ItemType Directory -Path $MsiFolder
#Download the msi
$MsiFile = Join-Path $MsiFolder "WAU.msi"
Invoke-RestMethod -Uri "https://github.com/Romanitho/Winget-AutoUpdate/releases/download/v$($WAUAvailableVersion)/WAU.msi" -OutFile $MsiFile Invoke-RestMethod -Uri "https://github.com/Romanitho/Winget-AutoUpdate/releases/download/v$($WAUAvailableVersion)/WAU.msi" -OutFile $MsiFile
#Update WAU #Update WAU
@ -27,6 +32,9 @@ function Update-WAU {
$MessageType = "success" $MessageType = "success"
Start-NotifTask -Title $Title -Message $Message -MessageType $MessageType -Button1Action $OnClickAction -Button1Text $Button1Text Start-NotifTask -Title $Title -Message $Message -MessageType $MessageType -Button1Action $OnClickAction -Button1Text $Button1Text
#Remove temp folder and content
Remove-Item $MsiFolder -Recurse -Force
exit 0 exit 0
} }

View File

@ -251,7 +251,7 @@
<SetProperty Id="MAXLOGSIZE_VALUE" After="AppSearch" Value="#[MAXLOGSIZE]" Condition="MAXLOGSIZE" /> <SetProperty Id="MAXLOGSIZE_VALUE" After="AppSearch" Value="#[MAXLOGSIZE]" Condition="MAXLOGSIZE" />
<SetProperty Action="SetUPDATEPRERELEASE_0" Id="UPDATEPRERELEASE" After="AppSearch" Value="0" Condition="(NOT UPDATEPRERELEASE) AND (UPDATEPRERELEASE_VALUE &lt;&gt; &quot;#1&quot;)" /> <SetProperty Action="SetUPDATEPRERELEASE_0" Id="UPDATEPRERELEASE" After="AppSearch" Value="0" Condition="(NOT UPDATEPRERELEASE) AND (UPDATEPRERELEASE_VALUE &lt;&gt; &quot;#1&quot;)" />
<SetProperty Action="SetUPDATEPRERELEASE_1" Id="UPDATEPRERELEASE" After="AppSearch" Value="1" Condition="(NOT UPDATEPRERELEASE) AND (UPDATEPRERELEASE_VALUE = &quot;#1&quot;)" /> <SetProperty Action="SetUPDATEPRERELEASE_1" Id="UPDATEPRERELEASE" After="AppSearch" Value="1" Condition="(NOT UPDATEPRERELEASE) AND (UPDATEPRERELEASE_VALUE = &quot;#1&quot;)" />
<SetProperty Id="CA_PowerShell_Install" Before="CA_PowerShell_Install" Sequence="execute" Value="&quot;[%SystemDrive]\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -File &quot;[INSTALLDIR]config\WAU-MSI_Actions.ps1&quot; &quot;[B_W_LIST_PATH]&quot; -InstallPath &quot;[INSTALLDIR]\&quot;" /> <SetProperty Id="CA_PowerShell_Install" Before="CA_PowerShell_Install" Sequence="execute" Value="&quot;[%SystemDrive]\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -File &quot;[INSTALLDIR]config\WAU-MSI_Actions.ps1&quot; &quot;[B_W_LIST_PATH]&quot; -InstallPath &quot;[INSTALLDIR]\&quot; -CurrentDir &quot;[CURRENTDIRECTORY]&quot;" />
<SetProperty Id="CA_PowerShell_Uninstall" Before="CA_PowerShell_Uninstall" Sequence="execute" Value="&quot;[%SystemDrive]\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -File &quot;[INSTALLDIR]config\WAU-MSI_Actions.ps1&quot; &quot;[B_W_LIST_PATH]&quot; -InstallPath &quot;[INSTALLDIR]\&quot; -Upgrade &quot;#[UPGRADINGPRODUCTCODE]&quot; -Uninstall" /> <SetProperty Id="CA_PowerShell_Uninstall" Before="CA_PowerShell_Uninstall" Sequence="execute" Value="&quot;[%SystemDrive]\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -File &quot;[INSTALLDIR]config\WAU-MSI_Actions.ps1&quot; &quot;[B_W_LIST_PATH]&quot; -InstallPath &quot;[INSTALLDIR]\&quot; -Upgrade &quot;#[UPGRADINGPRODUCTCODE]&quot; -Uninstall" />
<!-- Custom Actions --> <!-- Custom Actions -->