From e68bb803788b77ec936b08ab96a933f8b6b25f58 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:29:11 +0200 Subject: [PATCH 01/49] Initial deployment script --- .gitignore | 1 - LICENSE.md | 201 ------- Readme.md | 0 RegCli.psd1 | 26 - RegCli.psm1 | 318 ----------- Update.ps1 | 26 + build.ps1 | 291 ---------- dist.psm1 | 65 +++ en-US/RegCli-help.xml | 557 -------------------- en_us/Expand-ChromiumInstaller.md | 76 --- en_us/Get-ExecutableType.md | 69 --- en_us/RegCli.md | 31 -- en_us/Save-Installer.md | 61 --- en_us/Set-BatchRedirect.md | 73 --- en_us/Set-ChromiumShortcut.md | 58 -- en_us/Set-ChromiumVisualElementsManifest.md | 73 --- icon.png | Bin 12759 -> 0 bytes latest.json | 4 +- 18 files changed, 93 insertions(+), 1837 deletions(-) delete mode 100644 .gitignore delete mode 100644 LICENSE.md delete mode 100644 Readme.md delete mode 100644 RegCli.psd1 delete mode 100644 RegCli.psm1 create mode 100644 Update.ps1 delete mode 100644 build.ps1 create mode 100644 dist.psm1 delete mode 100644 en-US/RegCli-help.xml delete mode 100644 en_us/Expand-ChromiumInstaller.md delete mode 100644 en_us/Get-ExecutableType.md delete mode 100644 en_us/RegCli.md delete mode 100644 en_us/Save-Installer.md delete mode 100644 en_us/Set-BatchRedirect.md delete mode 100644 en_us/Set-ChromiumShortcut.md delete mode 100644 en_us/Set-ChromiumVisualElementsManifest.md delete mode 100644 icon.png diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4e8c966..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -7z.exe \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index f49a4e1..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/Readme.md b/Readme.md deleted file mode 100644 index e69de29..0000000 diff --git a/RegCli.psd1 b/RegCli.psd1 deleted file mode 100644 index b67ef9c..0000000 --- a/RegCli.psd1 +++ /dev/null @@ -1,26 +0,0 @@ -@{ -RootModule = 'RegCli.psm1' -ModuleVersion = '1.0.3' -GUID = '9d980765-e8a9-4dd6-b7b0-9142a7a6e704' -Author = 'Fabrice Sanga' -CompanyName = 'sangafabrice' -Copyright = '© 2022 SangaFabrice. All rights reserved.' -Description = 'Set of helper functions for updating applications.' -PowerShellVersion = '7.0' -PowerShellHostVersion = '7.0' -FunctionsToExport = 'Expand-ChromiumInstaller','Get-ExecutableType','Save-Installer', - 'Set-BatchRedirect','Set-ChromiumShortcut', - 'Set-ChromiumVisualElementsManifest' -CmdletsToExport = @() -AliasesToExport = @() -FileList = 'en-US\RegCli-help.xml','RegCli.psm1','RegCli.psd1' -PrivateData = @{ - PSData = @{ - Tags = 'Update','Chromium','RegCli' - LicenseUri = 'https://github.com/sangafabrice/reg-cli/blob/main/LICENSE.md' - ProjectUri = 'https://github.com/sangafabrice/reg-cli' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/5dd6cdfa8202fbd95eaa6fbf219f906a3b83d130/icon.png' - ReleaseNotes = 'Correct line continuation.' - } -} -} diff --git a/RegCli.psm1 b/RegCli.psm1 deleted file mode 100644 index 7dd03aa..0000000 --- a/RegCli.psm1 +++ /dev/null @@ -1,318 +0,0 @@ -#Requires -Version 7.0 -#Requires -RunAsAdministrator - -#Region RegCli class - -Enum MachineType { x64; x86 } - -Class RegCli { - # RegCli is not meant to be instantiated - # and only declares static functions - # It is a singleton - - Static [string] $AutorunDirectory = "$( - # Get the autorun directory - # where the autorun batch script is located - - (@{ - LiteralPath = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Command Processor').Autorun - ErrorAction = 'SilentlyContinue' - } | ForEach-Object { Get-Item @_ })?.Directory - )" - - Static [MachineType] $OSArchitecture = $( - # Get the OS architecture string - - If ([Environment]::Is64BitOperatingSystem) { [MachineType]::x64 } Else { [MachineType]::x86 } - ) - - Static [void] Get7Zip() { - # Download 7zip if it is absent - - "$PSScriptRoot\7z.exe".Where({ !(Test-Path $_) }) | - ForEach-Object { Start-BitsTransfer 'https://www.7-zip.org/a/7zr.exe' $_ } - } - - Static [void] ExpandInstaller($Path) { - [RegCli]::ExpandInstaller($Path, $Null) - } - - Static [void] ExpandInstaller($InstallerPath, $DestinationPath) { - # Extract files from a specified self-extracting executable - # installer $InstallerPath to $DestinationPath directory. - # Precondition : - # 1. $InstallerPath exists. - # 2. $DestinationPath may or may not exist and may be $null. - # 3. 7zip is installed. - - Get-Item -LiteralPath $InstallerPath | - ForEach-Object { - Invoke-Expression ". '$PSScriptRoot\7z.exe' x -aoa -o'$( - If ($Null -ne $DestinationPath) { $DestinationPath } - Else { "$($_.Directory)\$($_.BaseName)" } - )' '$($_.FullName)'" - } - } - - Static [void] ExpandChromiumInstaller([string] $InstallerPath, [string] $ExecutablePath) { - # Extracts files from a specified chromium installer $InstallerPath - # to the directory in which the application $ExecutablePath is located. - # Precondition : - # 1. $InstallerPath exists. - # 2. $ExecutablePath may or may not exist. - - $ExeName = $ExeBaseName = $ExeDir = $Null - ,@($ExecutablePath -split '\\') | - ForEach-Object { - $ExeName = $_[-1] - $ExeBaseName = & { - [void] ($ExeName -match '(?[^\\/]+)\.exe$') - $Matches.BaseName - } - $Count = $_.Count - $ExeDir = $(If ($Count -gt 1) { $_[0..($Count - 2)] -join '\' } Else { $PWD }) - Switch ($(Try { Get-Item -LiteralPath $InstallerPath } Catch { })) { - { $Null -ne $_ } { - [RegCli]::ExpandInstaller($_.FullName) - New-Item $ExeDir -ItemType Directory -ErrorAction SilentlyContinue - $ExeDir = (Get-Item -LiteralPath $ExeDir).FullName - $UnzipPath = "$($_.Directory)\$($_.BaseName)" - Try { - (Get-Item -LiteralPath $UnzipPath).FullName | - ForEach-Object { Push-Location $_ } - (Get-Item .\*.7z)[0].FullName | - ForEach-Object { - [RegCli]::ExpandInstaller($_) - Remove-Item $_ - } - Compress-Archive $ExeDir -DestinationPath "${Env:TEMP}\$($ExeBaseName)_$(Get-Date -Format 'yyMMddHHmm').zip" - Stop-Process -Name $($ExeBaseName) -Force -ErrorAction SilentlyContinue - Remove-Item "$ExeDir\*" -Recurse - Move-Item "$((Get-ChildItem $ExeName -Recurse).Directory)\*" $ExeDir - Pop-Location - Remove-Item $UnzipPath -Recurse - } Catch { } - } - } - } - } - - Static [void] SetChromiumVisualElementsManifest([string] $VisualElementsManifest, [string] $BackgroundColor) { - # Create the VisualElementManifest.xml in chromium app directory - - $InstallLocation = $VisualElementsManifest -replace ($VisualElementsManifest -split '\\')[-1] -replace '\\$' - $ErrorActionPreference = 'SilentlyContinue' - ,@(Get-ChildItem "$InstallLocation\*Logo.png" -Recurse) | - ForEach-Object { - $Pattern = "$InstallLocation\" -replace '\\','\\' - @{ - BigLogo = $_[0] -replace $Pattern - SmallLogo = $_[1] -replace $Pattern - } - } | - ForEach-Object { - Set-Content $VisualElementsManifest -Value @" - - - -"@ - } - } - - Static [void] SetChromiumShortcut([string] $ExecutablePath) { - # Create shortcut link to chromium app and save it to Start Menu - - (New-Object -ComObject 'WScript.Shell').CreateShortcut("${Env:ProgramData}\Microsoft\Windows\Start Menu\Programs\$( - (Get-Item -LiteralPath $ExecutablePath -ErrorAction SilentlyContinue).VersionInfo.FileDescription - ).lnk") | - ForEach-Object { - $_.TargetPath = $ExecutablePath - $_.Save() - } - } - - Static [string] DownloadInstaller([uri] $InstallerUrl) { - # Download resource and save it to %TEMP% directory - - Try { - $InstallerUrl.Segments[-1] -match '((?^.+)(?\.[^\.]+$))' - $Result = "${Env:TEMP}\$($Matches.BaseName)_$(Get-Date -Format 'yyMMddHHmm')$($Matches.Extension)" - Start-BitsTransfer -Source "$InstallerUrl" -Destination $Result - Return $Result - } - Catch { Return $Null } - } - - Static [MachineType] GetExeMachineType([string] $ExecutablePath) { - # Get the machine type of an application - - Switch ($(Try { (Get-Item -LiteralPath $ExecutablePath).FullName } Catch { })) { - { ![string]::IsNullOrEmpty($_) } { - $PEHeaderOffset = [Byte[]]::New(2) - $PESignature = [Byte[]]::New(4) - $MachineType = [Byte[]]::New(2) - $FileStream = [System.IO.FileStream]::New($_, 'Open', 'Read', 'ReadWrite') - $FileStream.Position = 0x3c - [void] $FileStream.Read($PEHeaderOffset, 0, 2) - $FileStream.Position = [System.BitConverter]::ToUInt16($PEHeaderOffset, 0) - [void] $FileStream.Read($PESignature, 0, 4) - [void] $FileStream.Read($MachineType, 0, 2) - $FileStream.Close() - Switch ([System.BitConverter]::ToUInt16($MachineType, 0)){ - 0x8664 { Return [MachineType]::x64 } - 0x14c { Return [MachineType]::x86 } - } - } - } - Return [RegCli]::OSArchitecture - } - - Static [void] SetBatchRedirect([string] $BatchName, [string] $ExecutablePath) { - # Create a batch redirect script in Autorun directory - - Try { - $ExeItem = Get-Item -LiteralPath $ExecutablePath -ErrorAction Stop - Set-Content "$( - Switch ([RegCli]::AutorunDirectory) { - { ![string]::IsNullOrEmpty($_) } { $_ } - Default { "$PWD" } - } - )\$BatchName.bat" -Value @" -@Echo OFF -If Not "%~1"=="--version" ( - If Not "%~1"=="-V" ( - Start "" /D "$($ExeItem.Directory)" "$($ExeItem.Name)" %* - GoTo :EOF - ) -) -For /F "Skip=1 Tokens=* Delims=." %%V In ('"WMIC DATAFILE WHERE Name="$($ExecutablePath -replace '\\','\\')" GET Version" 2^> Nul') Do ( - Echo %%V - GoTo :EOF -) -"@ - } - Catch { } - } -} -#EndRegion - -#Region Functions to be Exported - -# The module becomes a Facade of the singleton RegCli class -# Since the class cannot be exported with Import-Module -# Use to access the class - -Class ValidationUtility { - Static [bool] ValidateFileSystem($Path) { - Return (Get-Item -LiteralPath $Path).PSDrive.Name -iin @((Get-PSDrive -PSProvider FileSystem).Name) - } - - Static [bool] ValidatePathString($Path) { - $Pattern = '(?^.+):' - If ($Path -match $Pattern -or $PWD -match $Pattern) { - Return $Matches.Drive -iin @((Get-PSDrive -PSProvider FileSystem).Name) - } - Return $False - } - - Static [bool] ValidateSsl($Url) { Return $Url.Scheme -ieq 'https' } -} - -Function Expand-ChromiumInstaller { - [CmdletBinding(PositionalBinding=$True)] - [OutputType([System.Void])] - Param( - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidateFileSystem($_) })] - [string] $Path, - [Parameter(Mandatory)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidatePathString($_) })] - [string] $ApplicationPath - ) - [RegCli]::ExpandChromiumInstaller($Path, $ApplicationPath) -} - -Filter Get-ExecutableType { - [CmdletBinding()] - [OutputType([MachineType])] - Param( - [Parameter(Mandatory,ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidatePathString($_) })] - [string] $Path - ) - [RegCli]::GetExeMachineType($Path) -} - -Filter Save-Installer { - [CmdletBinding()] - [OutputType([String])] - Param( - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidateSsl($_) })] - [uri] $Url - ) - [RegCli]::DownloadInstaller($Url) -} - -Function Set-BatchRedirect { - [CmdletBinding(PositionalBinding=$True)] - [OutputType([System.Void])] - Param( - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [Alias('Name')] - [string] $BatchName, - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidateFileSystem($_) })] - [Alias('Path')] - [string] $ApplicationPath - ) - [RegCli]::SetBatchRedirect($BatchName, $ApplicationPath) -} - -Filter Set-ChromiumShortcut { - [CmdletBinding()] - [OutputType([System.Void])] - Param( - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidateFileSystem($_) })] - [string] $Path - ) - [RegCli]::SetChromiumShortcut($Path) -} - -Filter Set-ChromiumVisualElementsManifest { - [CmdletBinding(PositionalBinding=$True)] - [OutputType([System.Void])] - Param( - [Parameter(Mandatory, ValueFromPipelineByPropertyName)] - [ValidateNotNullOrEmpty()] - [ValidateScript({ [ValidationUtility]::ValidatePathString($_) })] - [string] $Path, - [AllowEmptyString()] - [AllowNull()] - [string] $BackgroundColor - ) - [RegCli]::SetChromiumVisualElementsManifest($Path, $BackgroundColor) -} - -#EndRegion - -#Region Module initialization tasks - -# Download 7zip if it is absent -[RegCli]::Get7Zip() - -#EndRegion \ No newline at end of file diff --git a/Update.ps1 b/Update.ps1 new file mode 100644 index 0000000..be09563 --- /dev/null +++ b/Update.ps1 @@ -0,0 +1,26 @@ +Param ( + [ValidateNotNullOrEmpty()] + [ValidateScript({ + (& { + Param($Path) + $Pattern = '(?^.+):' + If ($Path -match $Pattern -or $PWD -match $Pattern) { + Return $Matches.Drive -iin @((Get-PSDrive -PSProvider FileSystem).Name) + } + Return $False + } $_) -and + $( + @{ + LiteralPath = $_ + ErrorAction = 'SilentlyContinue' + } | ForEach-Object { Get-Item @_ } + ).FullName -ine $PSScriptRoot + })] [string] + $InstallLocation = "${Env:ProgramData}\ProgramName", + [ValidateNotNullOrEmpty()] + [ValidateScript({ + (Get-Item -LiteralPath $_).PSDrive.Name -iin + @((Get-PSDrive -PSProvider FileSystem).Name) + })] [string] + $SaveTo = $PSScriptRoot +) \ No newline at end of file diff --git a/build.ps1 b/build.ps1 deleted file mode 100644 index dc3d17e..0000000 --- a/build.ps1 +++ /dev/null @@ -1,291 +0,0 @@ -$DevDependencies = @{ - PlatyPS = '0.14.2' - RemoteRepo = (git ls-remote --get-url) -replace '\.git$' - Manifest = { Invoke-Expression "$(Get-Content "$PSScriptRoot\RegCli.psd1" -Raw)" } -} - -Filter New-RCManifest { - <# - .SYNOPSIS - Create module manifest - .NOTES - Precondition: - 1. latest.json exists - #> - - $GithubRepo = $DevDependencies.RemoteRepo - $ModuleName = 'RegCli' - Push-Location $PSScriptRoot - Get-Content .\latest.json -Raw | - ConvertFrom-Json | - ForEach-Object { - @{ - Path = "$ModuleName.psd1" - RootModule = "$ModuleName.psm1" - ModuleVersion = $_.version - GUID = '9d980765-e8a9-4dd6-b7b0-9142a7a6e704' - Author = 'Fabrice Sanga' - CompanyName = 'sangafabrice' - Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." - Description = 'Set of helper functions for updating applications.' - PowerShellVersion = '7.0' - PowerShellHostVersion = '7.0' - FunctionsToExport = @( - (Get-Content ".\$ModuleName.psm1").Where({ $_ -like 'Function*' -or $_ -like 'Filter*' }) | - ForEach-Object { ($_ -split ' ')[1] } - ) - CmdletsToExport = @() - VariablesToExport = @() - AliasesToExport = @() - FileList = @("en-US\$ModuleName-help.xml","$ModuleName.psm1","$ModuleName.psd1") - Tags = @('Update','Chromium','RegCli') - LicenseUri = "$GithubRepo/blob/main/LICENSE.md" - ProjectUri = $GithubRepo - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/5dd6cdfa8202fbd95eaa6fbf219f906a3b83d130/icon.png' - ReleaseNotes = $_.releaseNotes -join "`n" - } - } | ForEach-Object { - New-ModuleManifest @_ - (Get-Content $_.Path | - Where-Object { $_ -match '.+' } | - Where-Object { $_ -notmatch '^\s*#\.*' }) -replace ' # End of .+' -replace ", '",",'" | - Out-File "$ModuleName.psd1" - } - Pop-Location -} - -Filter New-RCMerge { - <# - .SYNOPSIS - Merge module into main - .NOTES - Precondition: - 1. The current branch is main - 2. Module files are modified in main - 3. The module manifest is modified - #> - - Param($CommitMessage) - - Push-Location $PSScriptRoot - Try { - If ((git branch --show-current) -ne 'main') { Throw 'BranchNotMain' } - New-RCManifest - $Manifest = & $DevDependencies.Manifest - $FileList = $Manifest.FileList - $ManifestFile = $FileList | Where-Object {$_ -like '*.psd1'} - Test-ModuleManifest $ManifestFile - If ($Null -eq $CommitMessage) { - $CommitMessage = Switch ($Manifest.PrivateData.PSData.ReleaseNotes) { - { ($_ -split "`n").Count -eq 1 } { "$_" } - Default { "RELEASE: v$($Manifest.ModuleVersion)" } - } - } - $GitDiffFiles = @(git diff --name-only --cached) + @(git diff --name-only) - If ($GitDiffFiles.Count -eq 0) { Throw } - ,($GitDiffFiles | Select-Object -Unique) | - ForEach-Object { - If ($_.Count -eq $_.Where({$_ -in $FileList}, 'Until').Count) { Throw 'ModuleFilesNotModified' } - If ($Null -eq ($_ | Where-Object { $_ -eq $ManifestFile })) { Throw 'ModuleManifestNotModified' } - } - Invoke-Expression "git add $($FileList) latest.json Readme.md" - git commit --message "$CommitMessage" --quiet - git stash push --include-untracked --quiet - git switch module --quiet 2> $Null - If (!$?) { - git stash pop --quiet > $Null 2>&1 - Throw - } - git merge --no-commit main > $Null 2>&1 - $IsMergeError = !$? - $CDPattern = "$($PWD -replace '\\','\\')\\" - Get-ChildItem -Recurse -File | - Where-Object { ($_.FullName -replace $CDPattern) -inotin $FileList } | - Remove-Item - Get-ChildItem -Directory | - Where-Object { ($_.FullName -replace $CDPattern) -inotin @($FileList | - Where-Object { $_ -like '*\*' } | - ForEach-Object { ($_ -split '\\')[0] }) } | - Remove-Item -Recurse -Force - If ($IsMergeError) { - ,@(git diff --name-only) | - ForEach-Object { If ($_ -in $FileList) { Throw 'MergeConflict' } } - git add . - } - git commit --message "$CommitMessage" --quiet - git switch main --quiet 2> $Null - git stash pop --quiet > $Null 2>&1 - } - Catch { "ERROR: $($_.Exception.Message)" } - Pop-Location -} - -Filter Invoke-OnModuleBranch { - <# - .SYNOPSIS - Process a scriptblock on module branch - .NOTES - Precondition: - 1. The current branch does not have unstaged changes. - 2. The script block does not modify module - #> - - Param([Parameter(Mandatory=$true)] $ScriptBlock) - - Get-Module RegCli -ListAvailable | - ForEach-Object { - Push-Location $PSScriptRoot - git branch --show-current | - ForEach-Object { - Try { - git switch module --quiet 2> $Null - If (!$?) { Throw "StayOn_$_" } - git switch $_ --quiet 2> $Null - git stash push --include-untracked --quiet - git switch module --quiet - & $ScriptBlock - } - Catch { "ERROR: $($_.Exception.Message)" } - Finally { - git switch $_ --quiet 2> $Null - git stash pop --quiet > $Null 2>&1 - } - } - Pop-Location - } -} - -## TODO: Function must implement -WhatIf -Filter Publish-RCModule { - <# - .SYNOPSIS - Publish module to PSGallery - .NOTES - Precondition: - 1. The current branch is module - 2. The NUGET_API_KEY environment variable is set. - #> - - Invoke-OnModuleBranch { - If ((git branch --show-current) -ne 'module') { Throw 'BranchNotPwshModule' } - If ($null -eq $Env:NUGET_API_KEY) { Throw 'NUGET_API_KEY_IsNull' } - @{ - Name = 'RegCli'; - NuGetApiKey = $Env:NUGET_API_KEY; - } | ForEach-Object { Publish-Module @_ } - Write-Host "RegCli@v$((& $DevDependencies.Manifest).ModuleVersion) published" - } -} - -## TODO: Function must implement -WhatIf -Filter Push-RCModule { - <# - .SYNOPSIS - Push new module commit to GitHub - .NOTES - Precondition: - 1. The current branch is module - .OUTPUTS - Push details - #> - - Invoke-OnModuleBranch { - If ((git branch --show-current) -ne 'module') { Throw 'BranchNotPwhModule' } - git push origin module --force - If (!$?) { Throw 'PushModuleToGitHubFailed' } - "v$((& $DevDependencies.Manifest).ModuleVersion)" | - ForEach-Object { - If ($_ -inotin @(git tag --list)) { - git tag $_ - git push --tags - } - } - } -} - -Filter Deploy-RCModule { - <# - .SYNOPSIS - Deploy module Everywhere - #> - - Try { - { If ((git branch --show-current) -ne 'main') { Throw 'BranchNotMain' } } | - ForEach-Object { - & $_ - New-RCMerge - & $_ - } - Push-RCModule - Publish-RCModule - } - Catch { "ERROR: $($_.Exception.Message)" } -} - -Function Update-RCHelp { - <# - .SYNOPSIS - Update RegCli help document - .NOTES - Precondition: PlatyPS is installed - #> - - Begin { - $PlatyPsModule = Get-Module | Where-Object Name -eq 'PlatyPS' - Import-Module PlatyPS -RequiredVersion $DevDependencies.PlatyPS -Force - } - Process { - Push-Location $PSScriptRoot - New-ExternalHelp -Path .\en_us\ -OutputPath en-US -Force - Pop-Location - } - End { - Remove-Module PlatyPS -Force - If ($PlatyPsModule.Count -gt 0) { - Import-Module PlatyPS -RequiredVersion $PlatyPsModule.Version -Force - } - } -} - -Filter Install-BuildDependencies { - <# - .SYNOPSIS - Install build modules - #> - - { - Param( - $Name, - $PreInstall - ) - - If ((Get-Module $Name -ListAvailable | - Where-Object Version -eq $DevDependencies[$Name]).Count -eq 0) { - If ($Null -ne $PreInstall) { & $PreInstall } - Install-Module $Name -RequiredVersion $DevDependencies[$Name] -Force - } - } | ForEach-Object { & $_ PlatyPS } -} - -Filter New-RCJunction { - <# - .SYNOPSIS - Create the RegCli Junction in PSModulePath - #> - - Param([switch] $Force) - - $FirstPath = "$(($env:PSModulePath -split ';')[0])\RegCli" - If (Test-Path $FirstPath) { - If ($Force) { - Remove-Item $FirstPath -Force - } Else { - Return 'RegCli junction already exists' - } - } - @{ - Path = $FirstPath; - ItemType = 'Junction'; - Value = $PSScriptRoot - } | ForEach-Object { New-Item @_ } -} \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 new file mode 100644 index 0000000..3c9f113 --- /dev/null +++ b/dist.psm1 @@ -0,0 +1,65 @@ +$DevDependencies = @{ + ProgramName = '_' + RemoteRepo = (git ls-remote --get-url) -replace '\.git$' +} + +Function New-UpdaterScript { + <# + .SYNOPSIS + Create module manifest + .NOTES + Precondition: + 1. latest.json exists + #> + + $GithubRepo = $DevDependencies.RemoteRepo + $HeaderPath = '.\Header.ps1' + Push-Location $PSScriptRoot + Get-Content .\latest.json -Raw | + ConvertFrom-Json | + ForEach-Object { + @{ + Path = $HeaderPath + Version = $_.version + GUID = '0f0234b8-2357-4909-a0b2-094a02e96be4' + Author = 'Fabrice Sanga' + CompanyName = 'sangafabrice' + Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." + Description = 'Description' + RequiredModules = @('DownloadInfo','RegCli') + ExternalModuleDependencies = @('DownloadInfo','RegCli') + Tags = @('Tag') + LicenseUri = "$GithubRepo/blob/main/LICENSE.md" + ProjectUri = "$GithubRepo/tree/$(git branch --show-current)" + IconUri = '' + ReleaseNotes = $_.releaseNotes + } + } | ForEach-Object { New-ScriptFileInfo @_ -Force } + ((Get-Content $HeaderPath).Where({$_ -like 'Param()*'}, 'Until') + + (Get-Content .\Update.ps1)) -join "`n" | Out-String + Remove-Item $HeaderPath + Pop-Location +} + +Function Publish-UpdaterScript { + <# + .SYNOPSIS + Publish script to PSGallery + .NOTES + Precondition: + 1. The NUGET_API_KEY environment variable is set. + #> + + @{ + Path = "$PSScriptRoot\Update$($DevDependencies.ProgramName).ps1" | + ForEach-Object { + New-UpdaterScript | Out-File $_ + Return $_ + } + NuGetApiKey = $Env:NUGET_API_KEY + } | ForEach-Object { + Publish-Script @_ + Write-Host "$((Get-Item $_.Path).Name) published" + Remove-Item $_.Path -Exclude Update.ps1 + } +} \ No newline at end of file diff --git a/en-US/RegCli-help.xml b/en-US/RegCli-help.xml deleted file mode 100644 index de083cb..0000000 --- a/en-US/RegCli-help.xml +++ /dev/null @@ -1,557 +0,0 @@ - - - - - Expand-ChromiumInstaller - Expand - ChromiumInstaller - - Extracts files from a specified chromium installer (exe) file. - - - - The Expand-ChromiumInstaller extracts files from a specified executable chromium installer file to the directory in which the application is located (ApplicationPath). - - - - Expand-ChromiumInstaller - - Path - - Path to chromium installer. - - String - - String - - - None - - - ApplicationPath - - Path to chromium application executable. - - String - - String - - - None - - - - - - ApplicationPath - - Path to chromium application executable. - - String - - String - - - None - - - Path - - Path to chromium installer. - - String - - String - - - None - - - - - - System.String - - - - - - - - - - System.Void - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> Expand-ChromiumInstaller 'C:\chrome_installer.exe' 'C:\ProgramData\GoogleChrome\chrome.exe' - - This command installs Google Chrome to 'C:\ProgramData\GoogleChrome'. - - - - - - - - Get-ExecutableType - Get - ExecutableType - - Gets the machine type of a binary file. - - - - The Get-ExecutableType function gets the machine type of a binary file. When the file does not exist, the function returns the architecture of the Operating System. - - - - Get-ExecutableType - - Path - - Path to the binary file. - - String - - String - - - None - - - - - - Path - - Path to the binary file. - - String - - String - - - None - - - - - - System.String - - - - - - - - - - MachineType - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> [Environment]::Is64BitOperatingSystem -True - -PS C:\> Get-ExecutableType 'C:\GoogleChrome\chrome.exe' -x86 - -PS C:\> Remove-Item 'C:\GoogleChrome\chrome.exe' -PS C:\> Get-ExecutableType 'C:\GoogleChrome\chrome.exe' -x64 - - Get the machine type of chrome application. - - - - - - - - Save-Installer - Save - Installer - - Downloads a specified installer. - - - - The Save-Installer function downloads a specified installer to the %TEMP% directory and appends timestamp to the installer base name. The URL must be secured. - - - - Save-Installer - - Url - - Url of the installer to download. - - Uri - - Uri - - - None - - - - - - Url - - Url of the installer to download. - - Uri - - Uri - - - None - - - - - - System.Uri - - - - - - - - - - System.String - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> Save-Installer 'https://github.com/ytdl-org/youtube-dl/releases/download/2021.12.17/youtube-dl.exe' - - The command downloads youtube-dl.exe. - - - - - - - - Set-BatchRedirect - Set - BatchRedirect - - Set the content of the batch redirect to a specified application. - - - - - - - - Set-BatchRedirect - - BatchName - - Name of the batch redirect file. - - String - - String - - - None - - - ApplicationPath - - Path to the chromium executable. - - String - - String - - - None - - - - - - ApplicationPath - - Path to the chromium executable. - - String - - String - - - None - - - BatchName - - Name of the batch redirect file. - - String - - String - - - None - - - - - - System.String - - - - - - - - - - System.Void - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> Set-BatchRedirect chrome 'C:\GoogleChrome\chrome.exe' - - - - - - - - - - Set-ChromiumShortcut - Set - ChromiumShortcut - - Save a specified chromium application shortcut to Start Menu. - - - - - - - - Set-ChromiumShortcut - - Path - - Path to the chromium executable. - - String - - String - - - None - - - - - - Path - - Path to the chromium executable. - - String - - String - - - None - - - - - - System.String - - - - - - - - - - System.Void - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> Set-ChromiumShortcut "C:\Secure\AvastBrowser.exe" - - - - - - - - - - Set-ChromiumVisualElementsManifest - Set - ChromiumVisualElementsManifest - - Sets the content of the VisualElementsManifest.xml file. - - - - - - - - Set-ChromiumVisualElementsManifest - - Path - - Path to VisualElementsManifest.xml - - String - - String - - - None - - - BackgroundColor - - Hexadecimal color code. - - String - - String - - - None - - - - - - BackgroundColor - - Hexadecimal color code. - - String - - String - - - None - - - Path - - Path to VisualElementsManifest.xml - - String - - String - - - None - - - - - - System.String - - - - - - - - - - System.Void - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - PS C:\> Set-ChromiumVisualElementsManifest 'C:\Secure\AvastBrowser.VisualElementsManifest.xml' '#2D364C' - - - - - - - - \ No newline at end of file diff --git a/en_us/Expand-ChromiumInstaller.md b/en_us/Expand-ChromiumInstaller.md deleted file mode 100644 index 7694ea9..0000000 --- a/en_us/Expand-ChromiumInstaller.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Expand-ChromiumInstaller - -## SYNOPSIS -Extracts files from a specified chromium installer (exe) file. - -## SYNTAX - -``` -Expand-ChromiumInstaller [-Path] [-ApplicationPath] [] -``` - -## DESCRIPTION -The Expand-ChromiumInstaller extracts files from a specified executable chromium installer file to the directory in which the application is located (ApplicationPath). - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> Expand-ChromiumInstaller 'C:\chrome_installer.exe' 'C:\ProgramData\GoogleChrome\chrome.exe' -``` - -This command installs Google Chrome to 'C:\ProgramData\GoogleChrome'. - -## PARAMETERS - -### -ApplicationPath -Path to chromium application executable. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -Path -Path to chromium installer. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.String - -## OUTPUTS - -### System.Void - -## NOTES - -## RELATED LINKS diff --git a/en_us/Get-ExecutableType.md b/en_us/Get-ExecutableType.md deleted file mode 100644 index d34eb2b..0000000 --- a/en_us/Get-ExecutableType.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Get-ExecutableType - -## SYNOPSIS -Gets the machine type of a binary file. - -## SYNTAX - -``` -Get-ExecutableType [-Path] [] -``` - -## DESCRIPTION -The Get-ExecutableType function gets the machine type of a binary file. When the file does not exist, the function returns the architecture of the Operating System. - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> [Environment]::Is64BitOperatingSystem -True - -PS C:\> Get-ExecutableType 'C:\GoogleChrome\chrome.exe' -x86 - -PS C:\> Remove-Item 'C:\GoogleChrome\chrome.exe' -PS C:\> Get-ExecutableType 'C:\GoogleChrome\chrome.exe' -x64 -``` - -Get the machine type of chrome application. - -## PARAMETERS - -### -Path -Path to the binary file. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.String - -## OUTPUTS - -### MachineType - -## NOTES - -## RELATED LINKS diff --git a/en_us/RegCli.md b/en_us/RegCli.md deleted file mode 100644 index b272605..0000000 --- a/en_us/RegCli.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -Module Name: RegCli -Module Guid: 9d980765-e8a9-4dd6-b7b0-9142a7a6e704 -Download Help Link: -Help Version: 1.0.0.0 -Locale: en-US ---- - -# RegCli Module -## Description -Set of helper functions for updating applications. - -## RegCli Cmdlets -### [Expand-ChromiumInstaller](Expand-ChromiumInstaller.md) -Extracts files from a specified chromium installer (exe) file. - -### [Set-BatchRedirect](Set-BatchRedirect.md) -Set the content of the batch redirect to a specified application. - -### [Get-ExecutableType](Get-ExecutableType.md) -Gets the machine type of a binary file. - -### [Save-Installer](Save-Installer.md) -Downloads a specified installer. - -### [Set-ChromiumShortcut](Set-ChromiumShortcut.md) -Save a specified chromium application shortcut to Start Menu. - -### [Set-ChromiumVisualElementsManifest](Set-ChromiumVisualElementsManifest.md) -Sets the content of the VisualElementsManifest.xml file. - diff --git a/en_us/Save-Installer.md b/en_us/Save-Installer.md deleted file mode 100644 index f887571..0000000 --- a/en_us/Save-Installer.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Save-Installer - -## SYNOPSIS -Downloads a specified installer. - -## SYNTAX - -``` -Save-Installer [-Url] [] -``` - -## DESCRIPTION -The Save-Installer function downloads a specified installer to the %TEMP% directory and appends timestamp to the installer base name. The URL must be secured. - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> Save-Installer 'https://github.com/ytdl-org/youtube-dl/releases/download/2021.12.17/youtube-dl.exe' -``` - -The command downloads youtube-dl.exe. - -## PARAMETERS - -### -Url -Url of the installer to download. - -```yaml -Type: Uri -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.Uri - -## OUTPUTS - -### System.String - -## NOTES - -## RELATED LINKS diff --git a/en_us/Set-BatchRedirect.md b/en_us/Set-BatchRedirect.md deleted file mode 100644 index 9f2c0de..0000000 --- a/en_us/Set-BatchRedirect.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Set-BatchRedirect - -## SYNOPSIS -Set the content of the batch redirect to a specified application. - -## SYNTAX - -``` -Set-BatchRedirect [-BatchName] [-ApplicationPath] [] -``` - -## DESCRIPTION - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> Set-BatchRedirect chrome 'C:\GoogleChrome\chrome.exe' -``` - -## PARAMETERS - -### -ApplicationPath -Path to the chromium executable. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: Path - -Required: True -Position: 1 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### -BatchName -Name of the batch redirect file. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: Name - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.String - -## OUTPUTS - -### System.Void - -## NOTES - -## RELATED LINKS diff --git a/en_us/Set-ChromiumShortcut.md b/en_us/Set-ChromiumShortcut.md deleted file mode 100644 index 3413add..0000000 --- a/en_us/Set-ChromiumShortcut.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Set-ChromiumShortcut - -## SYNOPSIS -Save a specified chromium application shortcut to Start Menu. - -## SYNTAX - -``` -Set-ChromiumShortcut [-Path] [] -``` - -## DESCRIPTION - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> Set-ChromiumShortcut "C:\Secure\AvastBrowser.exe" -``` - -## PARAMETERS - -### -Path -Path to the chromium executable. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.String - -## OUTPUTS - -### System.Void - -## NOTES - -## RELATED LINKS diff --git a/en_us/Set-ChromiumVisualElementsManifest.md b/en_us/Set-ChromiumVisualElementsManifest.md deleted file mode 100644 index 7e4ba9e..0000000 --- a/en_us/Set-ChromiumVisualElementsManifest.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -external help file: RegCli-help.xml -Module Name: RegCli -online version: -schema: 2.0.0 ---- - -# Set-ChromiumVisualElementsManifest - -## SYNOPSIS -Sets the content of the VisualElementsManifest.xml file. - -## SYNTAX - -``` -Set-ChromiumVisualElementsManifest [-Path] [[-BackgroundColor] ] [] -``` - -## DESCRIPTION - -## EXAMPLES - -### Example 1 -```powershell -PS C:\> Set-ChromiumVisualElementsManifest 'C:\Secure\AvastBrowser.VisualElementsManifest.xml' '#2D364C' -``` - -## PARAMETERS - -### -BackgroundColor -Hexadecimal color code. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -Path -Path to VisualElementsManifest.xml - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### System.String - -## OUTPUTS - -### System.Void - -## NOTES - -## RELATED LINKS diff --git a/icon.png b/icon.png deleted file mode 100644 index 1c2ac1af0ef32d7894a2105bf2f7c3ba15f6bfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12759 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 n*#6CwtO}cTb$4>ZUyy1n^_=Rih Date: Tue, 28 Jun 2022 12:36:35 +0200 Subject: [PATCH 02/49] add guid in devdep --- dist.psm1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index 3c9f113..5667740 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,5 +1,6 @@ $DevDependencies = @{ - ProgramName = '_' + ProgramName = 'AvastSecure' + Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -21,7 +22,7 @@ Function New-UpdaterScript { @{ Path = $HeaderPath Version = $_.version - GUID = '0f0234b8-2357-4909-a0b2-094a02e96be4' + GUID = $DevDependencies.Guid Author = 'Fabrice Sanga' CompanyName = 'sangafabrice' Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." From d2ae282474b6b171e0c0131da96306eee2407f40 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:39:35 +0200 Subject: [PATCH 03/49] add guid in devdependencies --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 5667740..544bc5b 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,5 +1,5 @@ $DevDependencies = @{ - ProgramName = 'AvastSecure' + ProgramName = '_' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From 0693c16f6233d4042f8eac208f2f271f2e45de7c Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:43:26 +0200 Subject: [PATCH 04/49] Initial Avast Secure updater script. --- Update.ps1 | 43 +++++++++++++++++++++++++++++++++++++++++-- dist.psm1 | 2 +- latest.json | 4 ++-- 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index be09563..5c723f7 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -16,11 +16,50 @@ Param ( } | ForEach-Object { Get-Item @_ } ).FullName -ine $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\ProgramName", + $InstallLocation = "${Env:ProgramData}\AvastSecure", [ValidateNotNullOrEmpty()] [ValidateScript({ (Get-Item -LiteralPath $_).PSDrive.Name -iin @((Get-PSDrive -PSProvider FileSystem).Name) })] [string] $SaveTo = $PSScriptRoot -) \ No newline at end of file +) + +$BaseNameLocation = "$InstallLocation\AvastBrowser" +Switch ( + Get-DownloadInfo -PropertyList @{ + UpdateServiceURL = 'https://update.avastbrowser.com/service/update2' + ApplicationID = '{A8504530-742B-42BC-895D-2BAD6406F698}' + OwnerBrand = '2101' + OSArch = Get-ExecutableType "$BaseNameLocation.exe" + } -From Omaha +) { + { + @($_.Version,$_.Link,$_.Checksum) | + ForEach-Object { $_ -notin @($Null, '') } + } { + $Installer = "$SaveTo\$($_.Version).exe" + $Checksum = $_.Checksum + If (!(Test-Path $Installer)) { + Save-Installer "$($_.Link)" | + ForEach-Object { + If ($Checksum -ieq (Get-FileHash $_ SHA256).Hash) { + Remove-Item "$SaveTo\*" -Exclude (Get-Item $PSCommandPath).Name + Move-Item $_ -Destination $Installer + } + } + } + If (([version] $_.Version) -gt $(Try { [version] $( + @{ + LiteralPath = "$BaseNameLocation.exe" + ErrorAction = 'SilentlyContinue' + } | ForEach-Object { Get-ChildItem @_ } + ).VersionInfo.ProductVersion } Catch { })) { + Expand-ChromiumInstaller $Installer "$BaseNameLocation.exe" + Remove-Item "${BaseNameLocation}Uninstall.exe" -Force + } + } +} +Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' +Set-ChromiumShortcut "$BaseNameLocation.exe" +Set-BatchRedirect 'secure' "$BaseNameLocation.exe" \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index 544bc5b..5667740 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,5 +1,5 @@ $DevDependencies = @{ - ProgramName = '_' + ProgramName = 'AvastSecure' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/latest.json b/latest.json index e680b9e..50b9cc4 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "0.0.1", + "version": "1.0.0", "releaseNotes": [ - "Initial deployment ready script." + "Initial Avast Secure updater script." ] } \ No newline at end of file From 17eced8e28624357a2381fe17f0b1ec62195349c Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:52:44 +0200 Subject: [PATCH 05/49] add iconuri to devdependency --- dist.psm1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 544bc5b..090a882 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,6 +1,7 @@ $DevDependencies = @{ ProgramName = '_' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' + IconUri = '' RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -32,7 +33,7 @@ Function New-UpdaterScript { Tags = @('Tag') LicenseUri = "$GithubRepo/blob/main/LICENSE.md" ProjectUri = "$GithubRepo/tree/$(git branch --show-current)" - IconUri = '' + IconUri = $DevDependencies.IconUri ReleaseNotes = $_.releaseNotes } } | ForEach-Object { New-ScriptFileInfo @_ -Force } From c2db029d9a5614ab17d2018942266f658a35c869 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:57:02 +0200 Subject: [PATCH 06/49] Change iconuri. --- dist.psm1 | 2 +- latest.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index 415762d..846eaf4 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,7 +1,7 @@ $DevDependencies = @{ ProgramName = 'AvastSecure' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' - IconUri = '' + IconUri = 'https://rawcdn.githack.com/sangafabrice/choco-packages/f3f1c1aba27e253461cc4ddd677a68c3cace0e0b/icon.png' RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/latest.json b/latest.json index 50b9cc4..6c47646 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "1.0.0", + "version": "1.0.1", "releaseNotes": [ - "Initial Avast Secure updater script." + "Change iconuri." ] } \ No newline at end of file From c72169d282c2949a502a3401743fcd7b5847b15e Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 29 Jun 2022 02:08:19 +0200 Subject: [PATCH 07/49] add tags to devdependencies --- dist.psm1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 090a882..525772b 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,6 +2,7 @@ $DevDependencies = @{ ProgramName = '_' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' IconUri = '' + Tags = @('Tag') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -30,7 +31,7 @@ Function New-UpdaterScript { Description = 'Description' RequiredModules = @('DownloadInfo','RegCli') ExternalModuleDependencies = @('DownloadInfo','RegCli') - Tags = @('Tag') + Tags = $DevDependencies.Tags LicenseUri = "$GithubRepo/blob/main/LICENSE.md" ProjectUri = "$GithubRepo/tree/$(git branch --show-current)" IconUri = $DevDependencies.IconUri From d4eb48ff2129c67df9c64f44a37b81b187324414 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 29 Jun 2022 02:21:15 +0200 Subject: [PATCH 08/49] add tags. --- latest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/latest.json b/latest.json index 6c47646..930e50e 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "1.0.1", + "version": "1.0.2", "releaseNotes": [ - "Change iconuri." + "Add tags." ] } \ No newline at end of file From f35ae73a0eef24438ca7d4a142ae84905520b628 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 29 Jun 2022 02:40:32 +0200 Subject: [PATCH 09/49] add description to devdependencies --- dist.psm1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 525772b..1d0d0ee 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,5 +1,6 @@ $DevDependencies = @{ ProgramName = '_' + Description = 'Description' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' IconUri = '' Tags = @('Tag') @@ -28,7 +29,7 @@ Function New-UpdaterScript { Author = 'Fabrice Sanga' CompanyName = 'sangafabrice' Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." - Description = 'Description' + Description = $DevDependencies.Description RequiredModules = @('DownloadInfo','RegCli') ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags From 7d09d163a490de2bb36763100bb633214f0aa4a4 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 29 Jun 2022 12:25:40 +0200 Subject: [PATCH 10/49] Restrict removed items to chromium installer. --- Update.ps1 | 3 ++- dist.psm1 | 7 +++++-- latest.json | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 5c723f7..809a88e 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -44,7 +44,8 @@ Switch ( Save-Installer "$($_.Link)" | ForEach-Object { If ($Checksum -ieq (Get-FileHash $_ SHA256).Hash) { - Remove-Item "$SaveTo\*" -Exclude (Get-Item $PSCommandPath).Name + (Get-Item "$SaveTo\*").Where({ $_.VersionInfo.FileDescription -ieq 'Avast Secure Browser Installer' }) | + Remove-Item Move-Item $_ -Destination $Installer } } diff --git a/dist.psm1 b/dist.psm1 index 4bf6779..a8097a4 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -62,8 +62,11 @@ Function Publish-UpdaterScript { } NuGetApiKey = $Env:NUGET_API_KEY } | ForEach-Object { - Publish-Script @_ - Write-Host "$((Get-Item $_.Path).Name) published" + Try { + Publish-Script @_ + Write-Host "$((Get-Item $_.Path).Name) published" + } + Catch { } Remove-Item $_.Path -Exclude Update.ps1 } } \ No newline at end of file diff --git a/latest.json b/latest.json index 6b5946d..ea355c0 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "1.0.3", + "version": "1.1.0", "releaseNotes": [ - "Add description." + "Restrict removed items to chromium installer." ] } \ No newline at end of file From 8dad9948abd4a97931c393c798382c44dce43bab Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 29 Jun 2022 12:29:26 +0200 Subject: [PATCH 11/49] correct publishing notification --- dist.psm1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index a8097a4..4551cdd 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -65,8 +65,7 @@ Function Publish-UpdaterScript { Try { Publish-Script @_ Write-Host "$((Get-Item $_.Path).Name) published" - } - Catch { } + } Catch { } Remove-Item $_.Path -Exclude Update.ps1 } } \ No newline at end of file From dbcfeb880ffff17ed8ca1f352c218d2615ebeb6f Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sun, 3 Jul 2022 15:15:30 +0200 Subject: [PATCH 12/49] add outdated uninstaller removal --- Update.ps1 | 75 ++++++++++++++++++++++++++++++++++++++++++++++------- dist.psm1 | 4 +-- latest.json | 5 ++-- 3 files changed, 70 insertions(+), 14 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 809a88e..92a2761 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -1,3 +1,4 @@ +[CmdletBinding()] Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ @@ -26,6 +27,7 @@ Param ( ) $BaseNameLocation = "$InstallLocation\AvastBrowser" +Write-Verbose 'Retrieve install or update information...' Switch ( Get-DownloadInfo -PropertyList @{ UpdateServiceURL = 'https://update.avastbrowser.com/service/update2' @@ -38,24 +40,36 @@ Switch ( @($_.Version,$_.Link,$_.Checksum) | ForEach-Object { $_ -notin @($Null, '') } } { - $Installer = "$SaveTo\$($_.Version).exe" + $Version = [version]$_.Version + Write-Verbose "Avast Secure browser $Version installation starts..." + $SaveToContent = (Get-ChildItem $SaveTo).Where({ $_.VersionInfo.FileDescription -ieq 'Avast Secure Browser Installer' }) + $Installer = $SaveToContent.Where({ [version]$_.VersionInfo.ProductVersion -eq $Version }).FullName ?? + "$SaveTo\$($_.Version).exe" $Checksum = $_.Checksum If (!(Test-Path $Installer)) { + Write-Verbose 'Download Avast Secure browser installer...' Save-Installer "$($_.Link)" | ForEach-Object { If ($Checksum -ieq (Get-FileHash $_ SHA256).Hash) { - (Get-Item "$SaveTo\*").Where({ $_.VersionInfo.FileDescription -ieq 'Avast Secure Browser Installer' }) | - Remove-Item + Write-Verbose 'Hashes match...' Move-Item $_ -Destination $Installer } } } - If (([version] $_.Version) -gt $(Try { [version] $( - @{ - LiteralPath = "$BaseNameLocation.exe" - ErrorAction = 'SilentlyContinue' - } | ForEach-Object { Get-ChildItem @_ } - ).VersionInfo.ProductVersion } Catch { })) { + If (Test-Path $Installer) { + Write-Verbose 'Delete outdated installers...' + $SaveToContent | Remove-Item -Exclude (Get-Item $Installer).Name + } + $IsCurrentInstallOutdated = { + $Version -gt $(Try { [version] $( + @{ + LiteralPath = "$BaseNameLocation.exe" + ErrorAction = 'SilentlyContinue' + } | ForEach-Object { Get-Item @_ } + ).VersionInfo.ProductVersion } Catch { }) + } + If (& $IsCurrentInstallOutdated) { + Write-Verbose 'Current Secure install is outdated or it is not installed...' Expand-ChromiumInstaller $Installer "$BaseNameLocation.exe" Remove-Item "${BaseNameLocation}Uninstall.exe" -Force } @@ -63,4 +77,45 @@ Switch ( } Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' Set-ChromiumShortcut "$BaseNameLocation.exe" -Set-BatchRedirect 'secure' "$BaseNameLocation.exe" \ No newline at end of file +Set-BatchRedirect 'secure' "$BaseNameLocation.exe" +If (!(& $IsCurrentInstallOutdated)) { Write-Verbose "Avast Secure browser $Version installation complete." } + +<# +.SYNOPSIS + Updates Avast Secure browser software. +.DESCRIPTION + The script installs or updates Avast Secure browser on Windows. +.NOTES + Required: at least Powershell Core 7. +.PARAMETER InstallLocation + Path to the installation directory. + It is restricted to file system paths. + It does not necessary exists. + It defaults to %ProgramData%\AvastSecure. +.PARAMETER SaveTo + Path to the directory of the downloaded installer. + It is an existing file system path. + It defaults to the script directory. +.EXAMPLE + Get-ChildItem C:\ProgramData\AvastSecure -ErrorAction SilentlyContinue + + PS > .\UpdateAvastSecure.ps1 -InstallLocation C:\ProgramData\AvastSecure -SaveTo . + + PS > Get-ChildItem C:\ProgramData\AvastSecure | Select-Object Name + Name + ---- + 102.1.17190.115 + AvastBrowser.exe + AvastBrowser.VisualElementsManifest.xml + AvastBrowserQHelper.exe + browser_proxy.exe + master_preferences + + PS > Get-ChildItem C:\ProgramData\AvastSecure | Select-Object Name + Name + ---- + 102.1.17190.115.exe + UpdateAvastSecure.ps1 + + Install Avast Secure browser to 'C:\ProgramData\AvastSecure' and save its setup installer to the current directory. +#> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index 4551cdd..f501dc8 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,6 +1,6 @@ $DevDependencies = @{ ProgramName = 'AvastSecure' - Description = 'The script updates Avast Secure browser.' + Description = 'The script installs or updates Avast Secure browser on Windows.' Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' IconUri = 'https://rawcdn.githack.com/sangafabrice/choco-packages/f3f1c1aba27e253461cc4ddd677a68c3cace0e0b/icon.png' Tags = @('avast','secure','chromium','omaha','update','browser') @@ -39,7 +39,7 @@ Function New-UpdaterScript { ReleaseNotes = $_.releaseNotes } } | ForEach-Object { New-ScriptFileInfo @_ -Force } - ((Get-Content $HeaderPath).Where({$_ -like 'Param()*'}, 'Until') + + ((Get-Content $HeaderPath).Where({$_ -like "`<`# "}, 'Until') + (Get-Content .\Update.ps1)) -join "`n" | Out-String Remove-Item $HeaderPath Pop-Location diff --git a/latest.json b/latest.json index ea355c0..7039236 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,7 @@ { - "version": "1.1.0", + "version": "2.0.0", "releaseNotes": [ - "Restrict removed items to chromium installer." + "Add verbosity.", + "Exclude latest installer from outdated installer items removal." ] } \ No newline at end of file From 92893f19ecccf3009b24726ef8d587ae406ee4a0 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Mon, 4 Jul 2022 14:18:06 +0200 Subject: [PATCH 13/49] Add retrieving update info from saveTo folder --- Update.ps1 | 91 +++++++++++++++++++++++++---------------------------- dist.psm1 | 8 ++++- latest.json | 7 +++-- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 92a2761..c0fe2f4 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -26,59 +26,52 @@ Param ( $SaveTo = $PSScriptRoot ) -$BaseNameLocation = "$InstallLocation\AvastBrowser" -Write-Verbose 'Retrieve install or update information...' -Switch ( - Get-DownloadInfo -PropertyList @{ - UpdateServiceURL = 'https://update.avastbrowser.com/service/update2' - ApplicationID = '{A8504530-742B-42BC-895D-2BAD6406F698}' - OwnerBrand = '2101' - OSArch = Get-ExecutableType "$BaseNameLocation.exe" - } -From Omaha -) { - { - @($_.Version,$_.Link,$_.Checksum) | - ForEach-Object { $_ -notin @($Null, '') } - } { - $Version = [version]$_.Version - Write-Verbose "Avast Secure browser $Version installation starts..." - $SaveToContent = (Get-ChildItem $SaveTo).Where({ $_.VersionInfo.FileDescription -ieq 'Avast Secure Browser Installer' }) - $Installer = $SaveToContent.Where({ [version]$_.VersionInfo.ProductVersion -eq $Version }).FullName ?? - "$SaveTo\$($_.Version).exe" - $Checksum = $_.Checksum - If (!(Test-Path $Installer)) { - Write-Verbose 'Download Avast Secure browser installer...' - Save-Installer "$($_.Link)" | - ForEach-Object { - If ($Checksum -ieq (Get-FileHash $_ SHA256).Hash) { - Write-Verbose 'Hashes match...' - Move-Item $_ -Destination $Installer - } - } - } - If (Test-Path $Installer) { - Write-Verbose 'Delete outdated installers...' - $SaveToContent | Remove-Item -Exclude (Get-Item $Installer).Name - } - $IsCurrentInstallOutdated = { - $Version -gt $(Try { [version] $( - @{ - LiteralPath = "$BaseNameLocation.exe" - ErrorAction = 'SilentlyContinue' - } | ForEach-Object { Get-Item @_ } - ).VersionInfo.ProductVersion } Catch { }) +& { + $BaseNameLocation = "$InstallLocation\AvastBrowser" + $NameLocation = "$BaseNameLocation.exe" + $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' + Write-Verbose 'Retrieve install or update information...' + $UpdateInfo = + Get-DownloadInfo -PropertyList @{ + UpdateServiceURL = 'https://update.avastbrowser.com/service/update2' + ApplicationID = '{A8504530-742B-42BC-895D-2BAD6406F698}' + OwnerBrand = '2101' + OSArch = Get-ExecutableType $NameLocation + } -From Omaha | + Where-Object { + @($_.Version,$_.Link,$_.Checksum) | + ForEach-Object { $_ -notin @($Null, '') } } - If (& $IsCurrentInstallOutdated) { - Write-Verbose 'Current Secure install is outdated or it is not installed...' - Expand-ChromiumInstaller $Installer "$BaseNameLocation.exe" + $InstallerVersion = $UpdateInfo.Version + $SoftwareName = 'Avast Secure Browser' + $InstallerDescription = "$SoftwareName Installer" + If ($UpdateInfo.Count -le 0) { + $InstallerVersion = "$( + Get-ChildItem $SaveTo | + Select-Object VersionInfo -ExpandProperty VersionInfo | + Where-Object { $_.FileDescription -ieq $InstallerDescription } | + ForEach-Object { [version] $_.ProductVersion } | + Sort-Object -Descending | + Select-Object -First 1 + )" + } + Try { + New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | + Import-Module -Verbose:$False -Force + If ($UpdateInfo.Count -gt 0) { Start-InstallerDownload "$($UpdateInfo.Link)" $UpdateInfo.Checksum -Verbose:$VerbosePreferenceBool} + Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool + If (Test-InstallOutdated) { + Write-Verbose 'Current install is outdated or not installed...' + Expand-ChromiumInstaller (Get-InstallerPath) $NameLocation Remove-Item "${BaseNameLocation}Uninstall.exe" -Force } - } + Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' + Set-ChromiumShortcut $NameLocation + Set-BatchRedirect 'secure' $NameLocation + If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $InstallerVersion installation complete." } + } + Catch { } } -Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' -Set-ChromiumShortcut "$BaseNameLocation.exe" -Set-BatchRedirect 'secure' "$BaseNameLocation.exe" -If (!(& $IsCurrentInstallOutdated)) { Write-Verbose "Avast Secure browser $Version installation complete." } <# .SYNOPSIS diff --git a/dist.psm1 b/dist.psm1 index f501dc8..fcd55ef 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -30,7 +30,13 @@ Function New-UpdaterScript { CompanyName = 'sangafabrice' Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." Description = $DevDependencies.Description - RequiredModules = @('DownloadInfo','RegCli') + RequiredModules = @(@{ + ModuleName = 'DownloadInfo' + ModuleVersion = '3.2.0' + },@{ + ModuleName = 'RegCli' + ModuleVersion = '2.0.2' + }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags LicenseUri = "$GithubRepo/blob/main/LICENSE.md" diff --git a/latest.json b/latest.json index 7039236..2476f4c 100644 --- a/latest.json +++ b/latest.json @@ -1,7 +1,8 @@ { - "version": "2.0.0", + "version": "3.0.0", "releaseNotes": [ - "Add verbosity.", - "Exclude latest installer from outdated installer items removal." + "Update related to RegCli 2.0.2 update.", + "Change code format.", + "Add retrieving update info from saveTo folder in case an error is thrown in Get-DownloadInfo" ] } \ No newline at end of file From 6cca05cb5bae6b195288e5688d0d83ecc0379832 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 5 Jul 2022 18:31:49 +0200 Subject: [PATCH 14/49] correct typo in comment doc --- Update.ps1 | 4 ++-- latest.json | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index c0fe2f4..d208486 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -58,7 +58,7 @@ Param ( Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force - If ($UpdateInfo.Count -gt 0) { Start-InstallerDownload "$($UpdateInfo.Link)" $UpdateInfo.Checksum -Verbose:$VerbosePreferenceBool} + If ($UpdateInfo.Count -gt 0) { Start-InstallerDownload "$($UpdateInfo.Link)" $UpdateInfo.Checksum -Verbose:$VerbosePreferenceBool } Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool If (Test-InstallOutdated) { Write-Verbose 'Current install is outdated or not installed...' @@ -104,7 +104,7 @@ Param ( browser_proxy.exe master_preferences - PS > Get-ChildItem C:\ProgramData\AvastSecure | Select-Object Name + PS > Get-ChildItem | Select-Object Name Name ---- 102.1.17190.115.exe diff --git a/latest.json b/latest.json index 2476f4c..501b5a9 100644 --- a/latest.json +++ b/latest.json @@ -1,8 +1,6 @@ { - "version": "3.0.0", + "version": "3.0.1", "releaseNotes": [ - "Update related to RegCli 2.0.2 update.", - "Change code format.", - "Add retrieving update info from saveTo folder in case an error is thrown in Get-DownloadInfo" + "Correct typo in comment-help" ] } \ No newline at end of file From 9147d37362915d02859ecfcba549c4952a47dc6e Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Mon, 11 Jul 2022 19:17:43 +0200 Subject: [PATCH 15/49] update regcli required version --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index fcd55ef..119462a 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -35,7 +35,7 @@ Function New-UpdaterScript { ModuleVersion = '3.2.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '2.0.2' + ModuleVersion = '2.3.2' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags From a66051584c01be4781edc1a391f327de060daad0 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 12 Jul 2022 11:16:14 +0200 Subject: [PATCH 16/49] Force the script to load RegCli 2.3.2 --- latest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/latest.json b/latest.json index 501b5a9..6f63525 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "3.0.1", + "version": "3.0.2", "releaseNotes": [ - "Correct typo in comment-help" + "Force the script to load RegCli 2.3.2" ] } \ No newline at end of file From 2567ba5a8da02cb7084f1f7c0e7628474c16a5a7 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Mon, 18 Jul 2022 13:05:28 +0200 Subject: [PATCH 17/49] Force the script to load RegCli 3.0.0 --- Update.ps1 | 42 ++++++++++++------------------------------ dist.psm1 | 4 ++-- latest.json | 4 ++-- 3 files changed, 16 insertions(+), 34 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index d208486..e0a9fb3 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -1,28 +1,12 @@ [CmdletBinding()] Param ( [ValidateNotNullOrEmpty()] - [ValidateScript({ - (& { - Param($Path) - $Pattern = '(?^.+):' - If ($Path -match $Pattern -or $PWD -match $Pattern) { - Return $Matches.Drive -iin @((Get-PSDrive -PSProvider FileSystem).Name) - } - Return $False - } $_) -and - $( - @{ - LiteralPath = $_ - ErrorAction = 'SilentlyContinue' - } | ForEach-Object { Get-Item @_ } - ).FullName -ine $PSScriptRoot - })] [string] + [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] + [string] $InstallLocation = "${Env:ProgramData}\AvastSecure", [ValidateNotNullOrEmpty()] - [ValidateScript({ - (Get-Item -LiteralPath $_).PSDrive.Name -iin - @((Get-PSDrive -PSProvider FileSystem).Name) - })] [string] + [ValidateScript({ Test-InstallerLocation $_ })] + [string] $SaveTo = $PSScriptRoot ) @@ -48,9 +32,10 @@ Param ( If ($UpdateInfo.Count -le 0) { $InstallerVersion = "$( Get-ChildItem $SaveTo | - Select-Object VersionInfo -ExpandProperty VersionInfo | - Where-Object { $_.FileDescription -ieq $InstallerDescription } | - ForEach-Object { [version] $_.ProductVersion } | + Where-Object { $_ -isnot [System.IO.DirectoryInfo] } | + Select-Object -ExpandProperty VersionInfo | + Where-Object FileDescription -IEQ $InstallerDescription | + ForEach-Object { $_.FileVersionRaw } | Sort-Object -Descending | Select-Object -First 1 )" @@ -58,17 +43,14 @@ Param ( Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force - If ($UpdateInfo.Count -gt 0) { Start-InstallerDownload "$($UpdateInfo.Link)" $UpdateInfo.Checksum -Verbose:$VerbosePreferenceBool } + Switch ($UpdateInfo) { {$_.Count -gt 0} { Start-InstallerDownload $_.Link $_.Checksum -Verbose:$VerbosePreferenceBool } } Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool - If (Test-InstallOutdated) { - Write-Verbose 'Current install is outdated or not installed...' - Expand-ChromiumInstaller (Get-InstallerPath) $NameLocation - Remove-Item "${BaseNameLocation}Uninstall.exe" -Force - } + Expand-ChromiumInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool + Remove-Item "${BaseNameLocation}Uninstall.exe" -Force -ErrorAction SilentlyContinue Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' Set-ChromiumShortcut $NameLocation Set-BatchRedirect 'secure' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $InstallerVersion installation complete." } + If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $(Get-InstallerVersion) installation complete." } } Catch { } } diff --git a/dist.psm1 b/dist.psm1 index 119462a..d20eade 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -32,10 +32,10 @@ Function New-UpdaterScript { Description = $DevDependencies.Description RequiredModules = @(@{ ModuleName = 'DownloadInfo' - ModuleVersion = '3.2.0' + ModuleVersion = '4.0.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '2.3.2' + ModuleVersion = '3.0.0' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags diff --git a/latest.json b/latest.json index 6f63525..fce59c2 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "3.0.2", + "version": "4.0.0", "releaseNotes": [ - "Force the script to load RegCli 2.3.2" + "Force the script to load RegCli 3.0.0" ] } \ No newline at end of file From d6449dcd3afad86a929fb6c1f8b32a4d77979cfa Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 20 Jul 2022 13:00:21 +0200 Subject: [PATCH 18/49] refactor code with select-nonemptyobject and get-savedinstallerversion --- Update.ps1 | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index e0a9fb3..7029efe 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -21,25 +21,11 @@ Param ( ApplicationID = '{A8504530-742B-42BC-895D-2BAD6406F698}' OwnerBrand = '2101' OSArch = Get-ExecutableType $NameLocation - } -From Omaha | - Where-Object { - @($_.Version,$_.Link,$_.Checksum) | - ForEach-Object { $_ -notin @($Null, '') } - } + } -From Omaha | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version $SoftwareName = 'Avast Secure Browser' $InstallerDescription = "$SoftwareName Installer" - If ($UpdateInfo.Count -le 0) { - $InstallerVersion = "$( - Get-ChildItem $SaveTo | - Where-Object { $_ -isnot [System.IO.DirectoryInfo] } | - Select-Object -ExpandProperty VersionInfo | - Where-Object FileDescription -IEQ $InstallerDescription | - ForEach-Object { $_.FileVersionRaw } | - Sort-Object -Descending | - Select-Object -First 1 - )" - } + If ($UpdateInfo.Count -le 0) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force From 2c0fcb2d6253cfe9eb031d60bd8da32ad7e35a18 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 20 Jul 2022 14:18:47 +0200 Subject: [PATCH 19/49] reduce updateinfo count comparison to implicit casting to bool --- Update.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 7029efe..00bd67e 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -25,11 +25,11 @@ Param ( $InstallerVersion = $UpdateInfo.Version $SoftwareName = 'Avast Secure Browser' $InstallerDescription = "$SoftwareName Installer" - If ($UpdateInfo.Count -le 0) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } + If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force - Switch ($UpdateInfo) { {$_.Count -gt 0} { Start-InstallerDownload $_.Link $_.Checksum -Verbose:$VerbosePreferenceBool } } + $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-ChromiumInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Remove-Item "${BaseNameLocation}Uninstall.exe" -Force -ErrorAction SilentlyContinue From 0c516e916069e820498ad6a9119b9cd06fdea1ba Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sat, 23 Jul 2022 22:04:58 +0200 Subject: [PATCH 20/49] update script manifest to include fix from RegCli --- dist.psm1 | 2 +- latest.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index d20eade..191b6b7 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -35,7 +35,7 @@ Function New-UpdaterScript { ModuleVersion = '4.0.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '3.0.0' + ModuleVersion = '3.0.1' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags diff --git a/latest.json b/latest.json index fce59c2..1594d3b 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "4.0.0", + "version": "4.0.1", "releaseNotes": [ - "Force the script to load RegCli 3.0.0" + "Force the script to load RegCli 3.0.1" ] } \ No newline at end of file From 0d35ed4fb50175bb30fa1f8056423a8d032206f5 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 26 Jul 2022 13:50:01 +0200 Subject: [PATCH 21/49] initial insomnia updater. --- Update.ps1 | 70 ++++++++++++++++++++++++++++------------------------- dist.psm1 | 10 ++++---- latest.json | 4 +-- 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 00bd67e..71da411 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\AvastSecure", + $InstallLocation = "${Env:ProgramData}\Insomnia", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,31 +11,36 @@ Param ( ) & { - $BaseNameLocation = "$InstallLocation\AvastBrowser" - $NameLocation = "$BaseNameLocation.exe" + $NameLocation = "$InstallLocation\insomnia.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - Get-DownloadInfo -PropertyList @{ - UpdateServiceURL = 'https://update.avastbrowser.com/service/update2' - ApplicationID = '{A8504530-742B-42BC-895D-2BAD6406F698}' - OwnerBrand = '2101' - OSArch = Get-ExecutableType $NameLocation - } -From Omaha | Select-NonEmptyObject + @{ + Uri = 'https://updates.insomnia.rest/downloads/windows/latest' + MaximumRedirection = 0 + SkipHttpErrorCheck = $True + ErrorAction = 'SilentlyContinue' + } | ForEach-Object { Invoke-WebRequest @_ -Verbose:$False } | + Where-Object StatusCode -EQ 302 | + ForEach-Object { $_.Headers.Location } | + Select-Object @{ + Name = 'Version' + Expression = { ([uri] $_).Segments?[-2] -replace '/$' } + },@{ + Name = 'Link' + Expression = { $_ } + } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $SoftwareName = 'Avast Secure Browser' - $InstallerDescription = "$SoftwareName Installer" - If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } + $SoftwareName = 'Insomnia' + If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $SoftwareName)" } Try { - New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | + New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $SoftwareName | Import-Module -Verbose:$False -Force $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool - Expand-ChromiumInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool - Remove-Item "${BaseNameLocation}Uninstall.exe" -Force -ErrorAction SilentlyContinue - Set-ChromiumVisualElementsManifest "$BaseNameLocation.VisualElementsManifest.xml" '#2D364C' - Set-ChromiumShortcut $NameLocation - Set-BatchRedirect 'secure' $NameLocation + Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool + Set-SquirrelShortcut $NameLocation + Set-BatchRedirect 'insomnia' $NameLocation If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $(Get-InstallerVersion) installation complete." } } Catch { } @@ -43,40 +48,39 @@ Param ( <# .SYNOPSIS - Updates Avast Secure browser software. + Updates Insomnia software. .DESCRIPTION - The script installs or updates Avast Secure browser on Windows. + The script installs or updates Insomnia on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to %ProgramData%\AvastSecure. + It defaults to %ProgramData%\Insomnia. .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem C:\ProgramData\AvastSecure -ErrorAction SilentlyContinue + Get-ChildItem C:\ProgramData\Insomnia -ErrorAction SilentlyContinue - PS > .\UpdateAvastSecure.ps1 -InstallLocation C:\ProgramData\AvastSecure -SaveTo . + PS > .\UpdateInsomnia.ps1 -InstallLocation C:\ProgramData\Insomnia -SaveTo . - PS > Get-ChildItem C:\ProgramData\AvastSecure | Select-Object Name + PS > Get-ChildItem C:\ProgramData\Insomnia | Select-Object Name Name ---- - 102.1.17190.115 - AvastBrowser.exe - AvastBrowser.VisualElementsManifest.xml - AvastBrowserQHelper.exe - browser_proxy.exe - master_preferences + locales + resources + swiftshader + chrome_100_percent.pak + chrome_200_percent.pak PS > Get-ChildItem | Select-Object Name Name ---- - 102.1.17190.115.exe - UpdateAvastSecure.ps1 + core@2022.4.2.exe + UpdateInsomnia.ps1 - Install Avast Secure browser to 'C:\ProgramData\AvastSecure' and save its setup installer to the current directory. + Install Insomnia to 'C:\ProgramData\Insomnia' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index 191b6b7..48dbce4 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'AvastSecure' - Description = 'The script installs or updates Avast Secure browser on Windows.' - Guid = '0f0234b8-2357-4909-a0b2-094a02e96be4' + ProgramName = 'Insomnia' + Description = 'The script installs or updates Insomnia on Windows.' + Guid = '92930614-a637-4d84-ad30-47533df93e79' IconUri = 'https://rawcdn.githack.com/sangafabrice/choco-packages/f3f1c1aba27e253461cc4ddd677a68c3cace0e0b/icon.png' - Tags = @('avast','secure','chromium','omaha','update','browser') + Tags = @('insomnia','nuget-package','update','http-client') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -35,7 +35,7 @@ Function New-UpdaterScript { ModuleVersion = '4.0.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '3.0.1' + ModuleVersion = '4.0.0' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags diff --git a/latest.json b/latest.json index 1594d3b..6277770 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "4.0.1", + "version": "0.0.1", "releaseNotes": [ - "Force the script to load RegCli 3.0.1" + "Initialize Insomnia updater script." ] } \ No newline at end of file From 393ff55134033e7553dd81bade934b982b09c37f Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Tue, 26 Jul 2022 15:32:03 +0200 Subject: [PATCH 22/49] change software name in dist module --- dist.psm1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index 48dbce4..ef59c46 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'Insomnia' - Description = 'The script installs or updates Insomnia on Windows.' - Guid = '92930614-a637-4d84-ad30-47533df93e79' + ProgramName = 'Postman' + Description = 'The script installs or updates Postman on Windows.' + Guid = '2f1b305e-e034-4c55-ac95-b296474098b7' IconUri = 'https://rawcdn.githack.com/sangafabrice/choco-packages/f3f1c1aba27e253461cc4ddd677a68c3cace0e0b/icon.png' - Tags = @('insomnia','nuget-package','update','http-client') + Tags = @('postman','nuget-package','update','http-client') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From f56a516bf665e0ec539cd4395d95619444e5c32c Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:37:12 +0200 Subject: [PATCH 23/49] initial postman updater script --- Update.ps1 | 60 +++++++++++++++++++++++++++++++---------------------- latest.json | 2 +- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 71da411..e820854 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Insomnia", + $InstallLocation = "${Env:ProgramData}\Postman", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,27 +11,37 @@ Param ( ) & { - $NameLocation = "$InstallLocation\insomnia.exe" + $NameLocation = "$InstallLocation\postman.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = @{ - Uri = 'https://updates.insomnia.rest/downloads/windows/latest' - MaximumRedirection = 0 - SkipHttpErrorCheck = $True + Uri = "https://dl.pstmn.io/download/latest/win$(Switch (Get-ExecutableType $NameLocation) { 'x64' { '64' } 'x86' { '32' } })" + Method = 'HEAD' ErrorAction = 'SilentlyContinue' - } | ForEach-Object { Invoke-WebRequest @_ -Verbose:$False } | - Where-Object StatusCode -EQ 302 | - ForEach-Object { $_.Headers.Location } | - Select-Object @{ - Name = 'Version' - Expression = { ([uri] $_).Segments?[-2] -replace '/$' } - },@{ + } | Select-Object @{ Name = 'Link' - Expression = { $_ } - } | Select-NonEmptyObject + Expression = { $_.Uri } + },@{ + Name = 'Resource' + Expression = { + Invoke-WebRequest @_ -Verbose:$False | + ForEach-Object { ($_.Headers.'Content-Disposition' -split '=')[-1] } | + Select-Object @{ + Name = 'Version' + Expression = { + [void] ($_ -match '\-(?(\d+\.)+\d+)\-') + $Matches.Version + } + },@{ + Name = 'Name' + Expression = { $_ } + } + } + } | Select-Object Link -ExpandProperty Resource | + Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $SoftwareName = 'Insomnia' + $SoftwareName = 'Postman' If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $SoftwareName)" } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $SoftwareName | @@ -40,7 +50,7 @@ Param ( Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'insomnia' $NameLocation + Set-BatchRedirect 'postman' $NameLocation If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $(Get-InstallerVersion) installation complete." } } Catch { } @@ -48,26 +58,26 @@ Param ( <# .SYNOPSIS - Updates Insomnia software. + Updates Postman software. .DESCRIPTION - The script installs or updates Insomnia on Windows. + The script installs or updates Postman on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to %ProgramData%\Insomnia. + It defaults to %ProgramData%\Postman. .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem C:\ProgramData\Insomnia -ErrorAction SilentlyContinue + Get-ChildItem C:\ProgramData\Postman -ErrorAction SilentlyContinue - PS > .\UpdateInsomnia.ps1 -InstallLocation C:\ProgramData\Insomnia -SaveTo . + PS > .\UpdatePostman.ps1 -InstallLocation C:\ProgramData\Postman -SaveTo . - PS > Get-ChildItem C:\ProgramData\Insomnia | Select-Object Name + PS > Get-ChildItem C:\ProgramData\Postman | Select-Object Name -First 5 Name ---- locales @@ -79,8 +89,8 @@ Param ( PS > Get-ChildItem | Select-Object Name Name ---- - core@2022.4.2.exe - UpdateInsomnia.ps1 + 9.25.2.exe + UpdatePostman.ps1 - Install Insomnia to 'C:\ProgramData\Insomnia' and save its setup installer to the current directory. + Install Postman to 'C:\ProgramData\Postman' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/latest.json b/latest.json index 6277770..4ff9044 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize Insomnia updater script." + "Initialize Postman updater script." ] } \ No newline at end of file From 4035da19b9d87f32003ddc6bad3d16d8f50796aa Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 27 Jul 2022 12:11:59 +0200 Subject: [PATCH 24/49] add postman icon --- icon.png | Bin 0 -> 14075 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon.png diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa53482df4086c0876bb600e4070bca3b6e7643 GIT binary patch literal 14075 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 Date: Wed, 27 Jul 2022 12:13:43 +0200 Subject: [PATCH 25/49] add postman icon --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index ef59c46..bc40768 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'Postman' Description = 'The script installs or updates Postman on Windows.' Guid = '2f1b305e-e034-4c55-ac95-b296474098b7' - IconUri = 'https://rawcdn.githack.com/sangafabrice/choco-packages/f3f1c1aba27e253461cc4ddd677a68c3cace0e0b/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/4035da19b9d87f32003ddc6bad3d16d8f50796aa/icon.png' Tags = @('postman','nuget-package','update','http-client') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From a51a0d13e112ef171b672791dcfcb505d7cd7687 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Thu, 28 Jul 2022 19:55:44 +0200 Subject: [PATCH 26/49] initial github desktop updater script --- Update.ps1 | 65 ++++++++++++++++++++++------------------------------ dist.psm1 | 8 +++---- icon.png | Bin 14075 -> 0 bytes icon.svg | 43 ++++++++++++++++++++++++++++++++++ latest.json | 2 +- 5 files changed, 76 insertions(+), 42 deletions(-) delete mode 100644 icon.png create mode 100644 icon.svg diff --git a/Update.ps1 b/Update.ps1 index e820854..b0851b5 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Postman", + $InstallLocation = "${Env:ProgramData}\GitHub Desktop", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,73 +11,64 @@ Param ( ) & { - $NameLocation = "$InstallLocation\postman.exe" + $NameLocation = "$InstallLocation\GithubDesktop.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = @{ - Uri = "https://dl.pstmn.io/download/latest/win$(Switch (Get-ExecutableType $NameLocation) { 'x64' { '64' } 'x86' { '32' } })" + Uri = 'https://central.github.com/deployments/desktop/desktop/latest/win32' Method = 'HEAD' + MaximumRedirection = 0 ErrorAction = 'SilentlyContinue' - } | Select-Object @{ - Name = 'Link' - Expression = { $_.Uri } + SkipHttpErrorCheck = $True + } | ForEach-Object { + [uri] "$((Invoke-WebRequest @_ -Verbose:$False).Headers.Location)" + } | + Select-Object @{ + Name = 'Version' + Expression = { ($_.Segments?[-2] -replace '/$' -split '-')?[0] } },@{ - Name = 'Resource' - Expression = { - Invoke-WebRequest @_ -Verbose:$False | - ForEach-Object { ($_.Headers.'Content-Disposition' -split '=')[-1] } | - Select-Object @{ - Name = 'Version' - Expression = { - [void] ($_ -match '\-(?(\d+\.)+\d+)\-') - $Matches.Version - } - },@{ - Name = 'Name' - Expression = { $_ } - } - } - } | Select-Object Link -ExpandProperty Resource | - Select-NonEmptyObject + Name = 'Link' + Expression = { "$_" } + } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $SoftwareName = 'Postman' - If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $SoftwareName)" } + $InstallerDescription = 'Simple collaboration from your desktop' + If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } Try { - New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $SoftwareName | + New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'postman' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "$SoftwareName $(Get-InstallerVersion) installation complete." } + Set-BatchRedirect 'githubdesktop' $NameLocation + If (!(Test-InstallOutdated)) { Write-Verbose "Github Desktop $(Get-InstallerVersion) installation complete." } } Catch { } } <# .SYNOPSIS - Updates Postman software. + Updates GitHub Desktop software. .DESCRIPTION - The script installs or updates Postman on Windows. + The script installs or updates GitHub Desktop on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to %ProgramData%\Postman. + It defaults to "%ProgramData%\GitHub Desktop". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem C:\ProgramData\Postman -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\GitHub Desktop' -ErrorAction SilentlyContinue - PS > .\UpdatePostman.ps1 -InstallLocation C:\ProgramData\Postman -SaveTo . + PS > .\UpdateGithubDesktop.ps1 -InstallLocation 'C:\ProgramData\GitHub Desktop' -SaveTo . - PS > Get-ChildItem C:\ProgramData\Postman | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\GitHub Desktop' | Select-Object Name -First 5 Name ---- locales @@ -89,8 +80,8 @@ Param ( PS > Get-ChildItem | Select-Object Name Name ---- - 9.25.2.exe - UpdatePostman.ps1 + 3.0.5.exe + UpdateGithubDesktop.ps1 - Install Postman to 'C:\ProgramData\Postman' and save its setup installer to the current directory. + Install GitHub Desktop to 'C:\ProgramData\GitHub Desktop' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index bc40768..0b256e4 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'Postman' - Description = 'The script installs or updates Postman on Windows.' - Guid = '2f1b305e-e034-4c55-ac95-b296474098b7' + ProgramName = 'GithubDesktop' + Description = 'The script installs or updates Github Desktop on Windows.' + Guid = 'd393b38f-f1b8-4b2f-bda2-9a35301f80b2' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/4035da19b9d87f32003ddc6bad3d16d8f50796aa/icon.png' - Tags = @('postman','nuget-package','update','http-client') + Tags = @('github-desktop','nuget-package','update','http-client') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png deleted file mode 100644 index 3fa53482df4086c0876bb600e4070bca3b6e7643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14075 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/latest.json b/latest.json index 4ff9044..b27c77b 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize Postman updater script." + "Initialize Github Desktop updater script." ] } \ No newline at end of file From 01e02ebcb56a7d6ae4765ea949ccf5faf02d4afa Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Thu, 28 Jul 2022 20:02:51 +0200 Subject: [PATCH 27/49] add powershell gallery icon --- dist.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist.psm1 b/dist.psm1 index 0b256e4..ea85ecc 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'GithubDesktop' Description = 'The script installs or updates Github Desktop on Windows.' Guid = 'd393b38f-f1b8-4b2f-bda2-9a35301f80b2' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/4035da19b9d87f32003ddc6bad3d16d8f50796aa/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/a51a0d13e112ef171b672791dcfcb505d7cd7687/icon.svg' Tags = @('github-desktop','nuget-package','update','http-client') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -35,7 +35,7 @@ Function New-UpdaterScript { ModuleVersion = '4.0.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '4.0.0' + ModuleVersion = '4.0.1' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags From 25beff672b3c8a39d5a2989e223eb5a0836a1dd0 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Thu, 28 Jul 2022 20:04:19 +0200 Subject: [PATCH 28/49] modify tags field --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index ea85ecc..9fa2672 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -3,7 +3,7 @@ $DevDependencies = @{ Description = 'The script installs or updates Github Desktop on Windows.' Guid = 'd393b38f-f1b8-4b2f-bda2-9a35301f80b2' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/a51a0d13e112ef171b672791dcfcb505d7cd7687/icon.svg' - Tags = @('github-desktop','nuget-package','update','http-client') + Tags = @('github-desktop','nuget-package','update','github') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From 0e787ee56f8ab0f8e1a3880f1ad6d879c8fa3a40 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 29 Jul 2022 02:02:25 +0200 Subject: [PATCH 29/49] change icon --- icon.png | Bin 0 -> 47350 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icon.png diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad558b21958630cd2aa0c7b2ef725b225fdd6a91 GIT binary patch literal 47350 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 ha2s-bXxx|rQNfSyV$8izR^0nu(+@P` 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

s2=j<_YAF(i}GoDe?7XOr#`{Vnb`%TaVnA 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 MN-0U!h?|7`A8-TD{{R30 literal 0 HcmV?d00001 From 8d1970259bf4c1e8fb25ab87ef8a9d3bf1bea990 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 29 Jul 2022 02:03:36 +0200 Subject: [PATCH 30/49] change icon --- icon.svg | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 icon.svg diff --git a/icon.svg b/icon.svg deleted file mode 100644 index 27734df..0000000 --- a/icon.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From f51eba946a6053d911459102f836d052d4e45cdd Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 29 Jul 2022 02:20:35 +0200 Subject: [PATCH 31/49] change icon --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 9fa2672..fa8a603 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'GithubDesktop' Description = 'The script installs or updates Github Desktop on Windows.' Guid = 'd393b38f-f1b8-4b2f-bda2-9a35301f80b2' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/a51a0d13e112ef171b672791dcfcb505d7cd7687/icon.svg' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/8d1970259bf4c1e8fb25ab87ef8a9d3bf1bea990/icon.png' Tags = @('github-desktop','nuget-package','update','github') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From 0590c061da33f02448b0fe6acac002753ec5a9c9 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 29 Jul 2022 02:21:21 +0200 Subject: [PATCH 32/49] change version for changing icon --- latest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/latest.json b/latest.json index b27c77b..0c35d3b 100644 --- a/latest.json +++ b/latest.json @@ -1,5 +1,5 @@ { - "version": "0.0.1", + "version": "0.0.2", "releaseNotes": [ "Initialize Github Desktop updater script." ] From bea24049ab697b7a7f4ff20dea67f10b1bfa59bd Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 29 Jul 2022 13:18:14 +0200 Subject: [PATCH 33/49] initialize figma updater script --- Update.ps1 | 51 +++++++++++++++++++++++---------------------------- dist.psm1 | 8 ++++---- icon.png | Bin 47350 -> 33446 bytes latest.json | 4 ++-- 4 files changed, 29 insertions(+), 34 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index b0851b5..3e5f770 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\GitHub Desktop", + $InstallLocation = "${Env:ProgramData}\Figma", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,29 +11,22 @@ Param ( ) & { - $NameLocation = "$InstallLocation\GithubDesktop.exe" + $NameLocation = "$InstallLocation\Figma.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - @{ - Uri = 'https://central.github.com/deployments/desktop/desktop/latest/win32' - Method = 'HEAD' - MaximumRedirection = 0 - ErrorAction = 'SilentlyContinue' - SkipHttpErrorCheck = $True - } | ForEach-Object { - [uri] "$((Invoke-WebRequest @_ -Verbose:$False).Headers.Location)" - } | + 'https://desktop.figma.com/win/FigmaSetup.exe' | Select-Object @{ Name = 'Version' - Expression = { ($_.Segments?[-2] -replace '/$' -split '-')?[0] } + Expression = { [datetime] "$((Invoke-WebRequest $_ -Method Head -Verbose:$False).Headers.'Last-Modified')" } },@{ Name = 'Link' - Expression = { "$_" } + Expression = { $_ } } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'Simple collaboration from your desktop' - If (!$UpdateInfo) { $InstallerVersion = "$(Get-SavedInstallerVersion $SaveTo $InstallerDescription)" } + $SoftwareName = 'Figma' + $InstallerDescription = "$SoftwareName Desktop" + If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force @@ -41,47 +34,49 @@ Param ( Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'githubdesktop' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "Github Desktop $(Get-InstallerVersion) installation complete." } + Set-BatchRedirect 'figma' $NameLocation + If (!(Test-InstallOutdated -UseInstaller)) { + Write-Verbose "$SoftwareName $((Get-Item -LiteralPath (Get-InstallerPath) -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw) installation complete." + } } - Catch { } + Catch { $_ } } <# .SYNOPSIS - Updates GitHub Desktop software. + Updates Figma software. .DESCRIPTION - The script installs or updates GitHub Desktop on Windows. + The script installs or updates Figma on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\GitHub Desktop". + It defaults to "%ProgramData%\Figma". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\GitHub Desktop' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\Figma' -ErrorAction SilentlyContinue - PS > .\UpdateGithubDesktop.ps1 -InstallLocation 'C:\ProgramData\GitHub Desktop' -SaveTo . + PS > .\UpdateFigma.ps1 -InstallLocation 'C:\ProgramData\Figma' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\GitHub Desktop' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\Figma' | Select-Object Name -First 5 Name ---- locales resources - swiftshader chrome_100_percent.pak chrome_200_percent.pak + d3dcompiler_47.dll PS > Get-ChildItem | Select-Object Name Name ---- - 3.0.5.exe - UpdateGithubDesktop.ps1 + 2022.208.69.68.exe + UpdateFigma.ps1 - Install GitHub Desktop to 'C:\ProgramData\GitHub Desktop' and save its setup installer to the current directory. + Install Figma to 'C:\ProgramData\Figma' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index fa8a603..e8be474 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ ProgramName = 'GithubDesktop' - Description = 'The script installs or updates Github Desktop on Windows.' - Guid = 'd393b38f-f1b8-4b2f-bda2-9a35301f80b2' + Description = 'The script installs or updates Figma on Windows.' + Guid = 'e993c3f1-f299-4e54-8eea-735b27e2d042' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/8d1970259bf4c1e8fb25ab87ef8a9d3bf1bea990/icon.png' - Tags = @('github-desktop','nuget-package','update','github') + Tags = @('figma','nuget-package','update','prototyping') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } @@ -35,7 +35,7 @@ Function New-UpdaterScript { ModuleVersion = '4.0.0' },@{ ModuleName = 'RegCli' - ModuleVersion = '4.0.1' + ModuleVersion = '4.1.0' }) ExternalModuleDependencies = @('DownloadInfo','RegCli') Tags = $DevDependencies.Tags diff --git a/icon.png b/icon.png index ad558b21958630cd2aa0c7b2ef725b225fdd6a91..a9605f83b5838843af86c5eb5c2026a70260c261 100644 GIT binary patch literal 33446 zcmV*EKx@B=P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8xfB;EEK~#9!?Y t=Uy3Hs;#5bE$o5R~_o+Q;rYdva4*# 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 ha2s-bXxx|rQNfSyV$8izR^0nu(+@P` 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

s2=j<_YAF(i}GoDe?7XOr#`{Vnb`%TaVnA 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 MN-0U!h?|7`A8-TD{{R30 diff --git a/latest.json b/latest.json index 0c35d3b..17a6006 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { - "version": "0.0.2", + "version": "0.0.1", "releaseNotes": [ - "Initialize Github Desktop updater script." + "Initialize Figma updater script." ] } \ No newline at end of file From cb37742bc1c451d959aac66bc7ac8152fd673787 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sat, 30 Jul 2022 06:11:03 +0200 Subject: [PATCH 34/49] initialize gitkraken updater script --- Update.ps1 | 21 +++++++++++---------- dist.psm1 | 8 ++++---- icon.png | Bin 33446 -> 9143 bytes latest.json | 2 +- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 3e5f770..a8b9161 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -11,11 +11,11 @@ Param ( ) & { - $NameLocation = "$InstallLocation\Figma.exe" + $NameLocation = "$InstallLocation\gitkraken.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - 'https://desktop.figma.com/win/FigmaSetup.exe' | + "https://release.gitkraken.com/win$(Switch (Get-ExecutableType $NameLocation) { 'x64' { '64' } 'x86' { '32' } })/GitKrakenSetup.exe" | Select-Object @{ Name = 'Version' Expression = { [datetime] "$((Invoke-WebRequest $_ -Method Head -Verbose:$False).Headers.'Last-Modified')" } @@ -24,22 +24,23 @@ Param ( Expression = { $_ } } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $SoftwareName = 'Figma' - $InstallerDescription = "$SoftwareName Desktop" - If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } + $SoftwareName = 'GitKraken' + $InstallerDescription = 'Unleash your repo' + If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerLastModified $SaveTo $InstallerDescription } Try { + $GetExeVersion = { (Get-Item -LiteralPath $NameLocation -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw } + $VersionPreInstall = & $GetExeVersion New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'figma' $NameLocation - If (!(Test-InstallOutdated -UseInstaller)) { - Write-Verbose "$SoftwareName $((Get-Item -LiteralPath (Get-InstallerPath) -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw) installation complete." - } + Set-BatchRedirect 'gitkraken' $NameLocation + $VersionPostInstall = & $GetExeVersion + If ($VersionPostInstall -gt $VersionPreInstall) { Write-Verbose "$SoftwareName $VersionPostInstall installation complete." } } - Catch { $_ } + Catch { } } <# diff --git a/dist.psm1 b/dist.psm1 index e8be474..f35a053 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'GithubDesktop' - Description = 'The script installs or updates Figma on Windows.' - Guid = 'e993c3f1-f299-4e54-8eea-735b27e2d042' + ProgramName = 'GitKraken' + Description = 'The script installs or updates GitKraken on Windows.' + Guid = 'bba9b6ac-3864-44da-84f8-46bfed7d6ae8' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/8d1970259bf4c1e8fb25ab87ef8a9d3bf1bea990/icon.png' - Tags = @('figma','nuget-package','update','prototyping') + Tags = @('gitkraken','nuget-package','update','git') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index a9605f83b5838843af86c5eb5c2026a70260c261..d30e7440d4f2b59ce7ad9885c0589160d2f93f1f 100644 GIT binary patch literal 9143 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 t=Uy3Hs;#5bE$o5R~_o+Q;rYdva4*# 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 Date: Sat, 30 Jul 2022 06:31:59 +0200 Subject: [PATCH 35/49] update powershell gallery icon --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index f35a053..a7dbb15 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'GitKraken' Description = 'The script installs or updates GitKraken on Windows.' Guid = 'bba9b6ac-3864-44da-84f8-46bfed7d6ae8' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/8d1970259bf4c1e8fb25ab87ef8a9d3bf1bea990/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/cb37742bc1c451d959aac66bc7ac8152fd673787/icon.png' Tags = @('gitkraken','nuget-package','update','git') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From d443476a819b0ec2a89519b383fa10f82ad67d18 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sat, 30 Jul 2022 10:20:54 +0200 Subject: [PATCH 36/49] initial atom updater script --- Update.ps1 | 49 ++++++++++++++++++++++--------------------------- dist.psm1 | 8 ++++---- icon.png | Bin 9143 -> 50581 bytes latest.json | 2 +- 4 files changed, 27 insertions(+), 32 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index a8b9161..963cd1b 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Figma", + $InstallLocation = "${Env:ProgramData}\Atom", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,73 +11,68 @@ Param ( ) & { - $NameLocation = "$InstallLocation\gitkraken.exe" + $NameLocation = "$InstallLocation\atom.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - "https://release.gitkraken.com/win$(Switch (Get-ExecutableType $NameLocation) { 'x64' { '64' } 'x86' { '32' } })/GitKrakenSetup.exe" | - Select-Object @{ - Name = 'Version' - Expression = { [datetime] "$((Invoke-WebRequest $_ -Method Head -Verbose:$False).Headers.'Last-Modified')" } - },@{ + Get-DownloadInfo -PropertyList @{ + RepositoryId = 'atom/atom' + AssetPattern = "AtomSetup$(If((Get-ExecutableType $NameLocation) -eq 'x64'){ '\-x64' })\.exe$" + } | Select-Object Version,@{ Name = 'Link' - Expression = { $_ } + Expression = { $_.Link.Url } } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $SoftwareName = 'GitKraken' - $InstallerDescription = 'Unleash your repo' - If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerLastModified $SaveTo $InstallerDescription } + $InstallerDescription = 'A hackable text editor for the 21st Century.' + If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { - $GetExeVersion = { (Get-Item -LiteralPath $NameLocation -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw } - $VersionPreInstall = & $GetExeVersion New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'gitkraken' $NameLocation - $VersionPostInstall = & $GetExeVersion - If ($VersionPostInstall -gt $VersionPreInstall) { Write-Verbose "$SoftwareName $VersionPostInstall installation complete." } + Set-BatchRedirect 'atom' $NameLocation + If (!(Test-InstallOutdated)) { Write-Verbose "Atom $(Get-InstallerVersion) installation complete." } } Catch { } } <# .SYNOPSIS - Updates Figma software. + Updates Atom software. .DESCRIPTION - The script installs or updates Figma on Windows. + The script installs or updates Atom on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\Figma". + It defaults to "%ProgramData%\Atom". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\Figma' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\Atom' -ErrorAction SilentlyContinue - PS > .\UpdateFigma.ps1 -InstallLocation 'C:\ProgramData\Figma' -SaveTo . + PS > .\UpdateAtom.ps1 -InstallLocation 'C:\ProgramData\Atom' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\Figma' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\Atom' | Select-Object Name -First 5 Name ---- locales resources + atom_ExecutionStub.exe + atom.exe chrome_100_percent.pak - chrome_200_percent.pak - d3dcompiler_47.dll PS > Get-ChildItem | Select-Object Name Name ---- - 2022.208.69.68.exe - UpdateFigma.ps1 + v1.60.0.exe + UpdateAtom.ps1 - Install Figma to 'C:\ProgramData\Figma' and save its setup installer to the current directory. + Install Atom to 'C:\ProgramData\Atom' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index a7dbb15..1c12369 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'GitKraken' - Description = 'The script installs or updates GitKraken on Windows.' - Guid = 'bba9b6ac-3864-44da-84f8-46bfed7d6ae8' + ProgramName = 'Atom' + Description = 'The script installs or updates Atom on Windows.' + Guid = '77bf0927-3aed-4ac8-b3d2-2193dd0028d0' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/cb37742bc1c451d959aac66bc7ac8152fd673787/icon.png' - Tags = @('gitkraken','nuget-package','update','git') + Tags = @('atom','nuget-package','update','ide') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index d30e7440d4f2b59ce7ad9885c0589160d2f93f1f..15638ce53c8a5bbe206ac301976fd65b563228ad 100644 GIT binary patch literal 50581 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�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

u7WXydg6qWb;#V> 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 Date: Sat, 30 Jul 2022 10:25:47 +0200 Subject: [PATCH 37/49] change powershell gallery icon --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 1c12369..d8552e2 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'Atom' Description = 'The script installs or updates Atom on Windows.' Guid = '77bf0927-3aed-4ac8-b3d2-2193dd0028d0' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/cb37742bc1c451d959aac66bc7ac8152fd673787/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/d443476a819b0ec2a89519b383fa10f82ad67d18/icon.png' Tags = @('atom','nuget-package','update','ide') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From f23530a99f35c9ab9601e055d6e9c66c1c8712a2 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sat, 30 Jul 2022 13:11:42 +0200 Subject: [PATCH 38/49] initial whatsapp updater script --- Update.ps1 | 43 +++++++++++++++++++++++-------------------- dist.psm1 | 8 ++++---- icon.png | Bin 50581 -> 37827 bytes latest.json | 2 +- 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 963cd1b..6e646b6 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Atom", + $InstallLocation = "${Env:ProgramData}\WhatsApp", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,19 +11,20 @@ Param ( ) & { - $NameLocation = "$InstallLocation\atom.exe" + $NameLocation = "$InstallLocation\WhatsApp.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - Get-DownloadInfo -PropertyList @{ - RepositoryId = 'atom/atom' - AssetPattern = "AtomSetup$(If((Get-ExecutableType $NameLocation) -eq 'x64'){ '\-x64' })\.exe$" - } | Select-Object Version,@{ + "https://web.whatsapp.com/desktop/windows/release/$(Switch (Get-ExecutableType $NameLocation) { 'x64' { 'x64' } 'x86' { 'ia32' } })/WhatsAppSetup.exe" | + Select-Object @{ + Name = 'Version' + Expression = { [datetime] "$((Invoke-WebRequest $_ -Method Head -Verbose:$False).Headers.'Last-Modified')" } + },@{ Name = 'Link' - Expression = { $_.Link.Url } + Expression = { $_ } } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'A hackable text editor for the 21st Century.' + $InstallerDescription = 'WhatsApp' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | @@ -32,47 +33,49 @@ Param ( Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'atom' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "Atom $(Get-InstallerVersion) installation complete." } + Set-BatchRedirect 'whatsapp' $NameLocation + If (!(Test-InstallOutdated -UseInstaller)) { + Write-Verbose "$InstallerDescription $((Get-Item -LiteralPath (Get-InstallerPath) -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw) installation complete." + } } Catch { } } <# .SYNOPSIS - Updates Atom software. + Updates WhatsApp software. .DESCRIPTION - The script installs or updates Atom on Windows. + The script installs or updates WhatsApp on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\Atom". + It defaults to "%ProgramData%\WhatsApp". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\Atom' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\WhatsApp' -ErrorAction SilentlyContinue - PS > .\UpdateAtom.ps1 -InstallLocation 'C:\ProgramData\Atom' -SaveTo . + PS > .\UpdateWhatsApp.ps1 -InstallLocation 'C:\ProgramData\WhatsApp' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\Atom' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\WhatsApp' | Select-Object Name -First 5 Name ---- locales resources - atom_ExecutionStub.exe - atom.exe + whatsapp_ExecutionStub.exe + whatsapp.exe chrome_100_percent.pak PS > Get-ChildItem | Select-Object Name Name ---- v1.60.0.exe - UpdateAtom.ps1 + UpdateWhatsApp.ps1 - Install Atom to 'C:\ProgramData\Atom' and save its setup installer to the current directory. + Install WhatsApp to 'C:\ProgramData\WhatsApp' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index d8552e2..4ef6e59 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'Atom' - Description = 'The script installs or updates Atom on Windows.' - Guid = '77bf0927-3aed-4ac8-b3d2-2193dd0028d0' + ProgramName = 'WhatsApp' + Description = 'The script installs or updates WhatsApp on Windows.' + Guid = '72b6f5fe-6338-45c7-a058-cdb710d2daf0' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/d443476a819b0ec2a89519b383fa10f82ad67d18/icon.png' - Tags = @('atom','nuget-package','update','ide') + Tags = @('whatsapp','nuget-package','update','communication') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index 15638ce53c8a5bbe206ac301976fd65b563228ad..4b043b563dc2a167196fcb4864797097bf7af23b 100644 GIT binary patch literal 37827 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 VHrQifcK`+usH(2Y7iFu^{{bKN@ag~n literal 50581 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�X#29WhPqNPihwrZ{WW-9?UQkxDNcwCYVBk$xTD1&s`5wdt7 zNl7h}Kkfar3gDQF)Cd;@ey1LYaO=Elao6%&keI}m6bnPL?^feiFg7`Xrw3ld#-XjK zp#~jm#DxO1CLq$#ju08dGKTD7RO~yF+fSf1c8woGwN^nspYvuYyFPs_y_j35 z$rPz1Eyei@+rNqsV4yQj%aina1-cH{;pkFQF^y!1}ot z;nLnU=qYw1m(L@Y%XttnH5Nw+i4#KC^k0EXd)MOOLqEccC$@(1dkHL}B<|P5TLP6J zdqM#DI5|kW%u+X2b}>9Pk_rmV^S|{Wd_4odBzDu(aBX@ zK$cHW%MFN5=c3GwwfkKJp!Gu^`p{*!-+ueOr~2VUeHuR;e%bL~keFWQsvuxFjne}` z?y>wi&H8R#GIGybU=Cw&_%=X<>*rp9dse>9Y5lY)@nNTW9b*$?c>Lfq_}2bMacFt~ zlp|X}GmfBQ1r(=@^ouot31Fy<>-Q%Yy5$ ze$K@{tdf0oUIbf?cl+KkG}Zgiw9v-f{l1Yc33mE)3pGy;2*dA`t|Gk zXZ!I;Z8A(;h7i1Y$_9W(^Bt5YXwoNP2pToYZXVQJ9KY>XqLB$$zF6Wt5>j=Di(E5|sVhLfQkk#NT-PrU-C>ZP= zKZrGRRw9?nWo80c)4dYU9@&grm)u}Ye{UVRJ1byhVhrCq_yedovYVRNT4DlmpT+1Q zrcn@UAad?&$`@85sv@%0d}ge>Vd667M2=Piwi8lgQ>%`Y{9&Mtf(TKO4zxg#wWg8? zhiZd3aA*LJA9)5>^<9c9`q!be*p7U@fLuQ3Ni>~!Xf3A|T}$xmmwz1pwEIEqnK z9x;aE=Ry=XA>I-sFdOYOIn!(6d>~u%B5=I5^o-vO#Kmrdbt|G2{BN>6(-Aj09Z7t4 zyeBsfoG}=9Heo>dp!||0OXkg%xG+*5w}c{0-cZuYZm;DKq1|2^3Rl3H_cB6Y!-V#O zOZE1hGZqPg(X5~BUvh}?v9)=G#BrcDh$8rp~_k8i~K z?lrh+(Us_J=|-Vgv;tO`*G#pEvF8r{@+I%b}?Y#6Z4GYGg zKvHB}|&$s2G04I^TGq?mc!wd4z^gs1y^r)?eO`j84SD1Z`!yO-UDmbj%M zp3VsJ*yJd_wDmhURy_e-h!Mq+2ltet0Pk8z&T%_ZxKO2cIT+JmP|iuevFa4|jUL7& zh1H0hH6dM){=nY;4gMiVP?**gUZdTej}T6+LTl)50s!-O`0Zv6#jPcrG2Y-?sP$bmZIdjlGZB z1T5)7P@qA8w-nel=hSs?1v-xRmFdLcqr$g!0x!4#e%%dAfnf2C)Fw^|ssliKdwUlE zHhInp1bnqsfur{J_AVcW5gnADC+gFFatWfgJ-O<=!iNo~?b-~ygv2>`PD}82Hm=VV zclmrg2DAbw*RI=eb^oRIJVC$2!4Dpp7{%Xg{w9u8PuMf^Vw+F{&2{lzzxc=}M+AJ{ zJo(iX6>zyKtl|o=3Z!j4f$d{^QLoj7)(y1@3{2C>t|xUou$Z;Ki{W`18&Gh{q2;i?Q)>l*?ri zMh(_6Ioi0U|1$i-nsLVxi9do49%v3xS#|^5TsUFw zX-z3i)~9FWC!U+Owze)XsPrI_%%wRl+VY2yik{CR>|2YiRMlARk zX{T{im{rR&o2J>3_aCP5$+%o?#=+F6mi?kF9wxOk%tu3AD*{ht&E98LPbFF<_U2 zeE}vRiMB`q=bmH8C3=PApsA!jBR_F#X=&+10P-7A$@=`NAQDz zpFqWtKlCJJ!b5<1j!XDnvIr;A`kbLv|G=I%_*!3qZ~A z?>L{&cLj~w{55SVVM4?tc#R_xdlL6<59VOO5C9jR_ zRZp@J%_OKKH58&e-nQ_1{F_UE0iF4FYi{$-zr?ObaNQ8rPYPwNv2|n*YSn5J4Mw=Q zXC=Dxo!&f7vktpJR?zYZ$q7s<*3aWl0T_b*m5!id4V}+H=VELe-HtD8{}zsq4Pm-e zYS5+(0^h#qI$YAd(rxjju>NE>W!YoiQ~&^dk0kSJ0X!M-r^B;N+u67Pa>nB*iaKVBQ*xWCm%V@E2TstG%DP@;A$^K{knnk36vKsoG4@WgoKlYj0yMwVEkHG zHzk0)N&`Blp>i6>s>Aq;tzXB!lZR0%l~V42Wa9U)xC0TiA6vR0jq?1=E`g^{vKf6w zIYFrcen2otjPm!9IS_VFit<>1?F*q)uQd4lS%DBmQ3uk;g`Y7Hc(x#*f1uVnH&X|> zRg$`YnzMw1hIAU&Ye85u%Pw-*$>-1V^XRtn6YPCMW=;pV87Oq++Gk|4{S!xRqB>L{ zKt7bzEs|yUK%|!ByrD0w1#-uTIoV^3jW}rXAwYm!NpgU+#`fX;!vAfYze=r&2lqb# zXoV=!&NL0kg11(EZztzd0z0i)ITY0CqfS}R| zKaI~10=}*iymVqKYPDL^=WLjBFu=pX?J*J^ z$B6PVs!qaJYiTZ&mSPCG!pI=sJV){)u zit6?WkYYfYgy3>>Kz0tQuKvWSEC8ic4zKczz|#=`>J;BAt#xj;8`!P2t|XHR2(+!^ zrx8FtUQm~3O*%|4Q;LtDviS-4bL_oYY)w`ogIbaVe>GzP)Tr)>DRC&UmHduTTxYGe z;WPJwSo*?0MFwUim&?OVRzEEe)}^ zfuK=K8lyp3`i-K91;D9z^i>Oh6vJn~Bcj;_fT}y-$Jpdm{A%U_7 zq+9Mx^S?!Ky9@!Pq>Myl{&_q>0lkGT$HQTFqC~>Onet8$z=f$)8cBv56NpdBMd%SR z0SB#Mqa47kORi<(LHP9H-Yszv6ln|m`S2b4+mg@(V}hS;=lY7?i=cHBj!qZjpN&L} zAzaqG)~=iIy~$ZJDS>EMyV>o;B~-C_cqeMrs&I$G8f@sh*ja-rb%1DiI8y7%Co^a2 zNQdLTA*>KLKfHd{I?}G@LX2vZ;5+-Dz|{0~({0wVigC@Hb?yLJsj!4bHesze^k<9_ z&tzd?50(uUt~?(=(k=@&XN95OAfU5hL1zJ+4xi50&c+3h4~V4&kd;tg)AHVP=R3

u7WXydg6qWb;#V> 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 Date: Sat, 30 Jul 2022 14:46:01 +0200 Subject: [PATCH 39/49] initial sourcetree updater script --- Update.ps1 | 43 +++++++++++++++++++++++-------------------- dist.psm1 | 8 ++++---- icon.png | Bin 37827 -> 21734 bytes latest.json | 2 +- 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 6e646b6..6f6cd34 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\WhatsApp", + $InstallLocation = "${Env:ProgramData}\SourceTree", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,20 +11,25 @@ Param ( ) & { - $NameLocation = "$InstallLocation\WhatsApp.exe" + $NameLocation = "$InstallLocation\SourceTree.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - "https://web.whatsapp.com/desktop/windows/release/$(Switch (Get-ExecutableType $NameLocation) { 'x64' { 'x64' } 'x86' { 'ia32' } })/WhatsAppSetup.exe" | + (Invoke-WebRequest "https://www.sourcetreeapp.com/download-archives").Links.href | + Where-Object { $_ -like '*.exe' } | Select-Object @{ Name = 'Version' - Expression = { [datetime] "$((Invoke-WebRequest $_ -Method Head -Verbose:$False).Headers.'Last-Modified')" } + Expression = { + [void] ($_ -match '(?(\d+\.)+\d+)\.exe$') + [version] $Matches.Version + } },@{ Name = 'Link' Expression = { $_ } - } | Select-NonEmptyObject + } -First 1 | Select-NonEmptyObject + $UpdateInfo $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'WhatsApp' + $InstallerDescription = 'SourceTree' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | @@ -33,49 +38,47 @@ Param ( Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'whatsapp' $NameLocation - If (!(Test-InstallOutdated -UseInstaller)) { - Write-Verbose "$InstallerDescription $((Get-Item -LiteralPath (Get-InstallerPath) -ErrorAction SilentlyContinue).VersionInfo.FileVersionRaw) installation complete." - } + Set-BatchRedirect 'sourcetree' $NameLocation + If (!(Test-InstallOutdated)) { Write-Verbose "$InstallerDescription $(Get-InstallerVersion) installation complete." } } Catch { } } <# .SYNOPSIS - Updates WhatsApp software. + Updates SourceTree software. .DESCRIPTION - The script installs or updates WhatsApp on Windows. + The script installs or updates SourceTree on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\WhatsApp". + It defaults to "%ProgramData%\SourceTree". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\WhatsApp' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\SourceTree' -ErrorAction SilentlyContinue - PS > .\UpdateWhatsApp.ps1 -InstallLocation 'C:\ProgramData\WhatsApp' -SaveTo . + PS > .\UpdateSourceTree.ps1 -InstallLocation 'C:\ProgramData\SourceTree' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\WhatsApp' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\SourceTree' | Select-Object Name -First 5 Name ---- locales resources - whatsapp_ExecutionStub.exe - whatsapp.exe + SourceTree_ExecutionStub.exe + SourceTree.exe chrome_100_percent.pak PS > Get-ChildItem | Select-Object Name Name ---- v1.60.0.exe - UpdateWhatsApp.ps1 + UpdateSourceTree.ps1 - Install WhatsApp to 'C:\ProgramData\WhatsApp' and save its setup installer to the current directory. + Install SourceTree to 'C:\ProgramData\SourceTree' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index 4ef6e59..fcc4703 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'WhatsApp' - Description = 'The script installs or updates WhatsApp on Windows.' - Guid = '72b6f5fe-6338-45c7-a058-cdb710d2daf0' + ProgramName = 'SourceTree' + Description = 'The script installs or updates SourceTree on Windows.' + Guid = '2ce4bb1c-1ecf-4b6a-83fc-638475a03115' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/d443476a819b0ec2a89519b383fa10f82ad67d18/icon.png' - Tags = @('whatsapp','nuget-package','update','communication') + Tags = @('sourcetree','nuget-package','update','git') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index 4b043b563dc2a167196fcb4864797097bf7af23b..ed8d82c712cd9f9942e88f6795483c054d4abfa8 100644 GIT binary patch literal 21734 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 No{sV31}&%9{{Ygvr8)or literal 37827 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 VHrQifcK`+usH(2Y7iFu^{{bKN@ag~n diff --git a/latest.json b/latest.json index 5a33289..6b7a263 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize WhatsApp updater script." + "Initialize SourceTree updater script." ] } \ No newline at end of file From 413b6081561a5d21d0f5337a7d209b3a1cff124e Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sun, 31 Jul 2022 05:12:06 +0200 Subject: [PATCH 40/49] remove debug elements --- Update.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 6f6cd34..8a30b4e 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -15,7 +15,7 @@ Param ( $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - (Invoke-WebRequest "https://www.sourcetreeapp.com/download-archives").Links.href | + (Invoke-WebRequest "https://www.sourcetreeapp.com/download-archives" -Verbose:$False).Links.href | Where-Object { $_ -like '*.exe' } | Select-Object @{ Name = 'Version' @@ -27,7 +27,6 @@ Param ( Name = 'Link' Expression = { $_ } } -First 1 | Select-NonEmptyObject - $UpdateInfo $InstallerVersion = $UpdateInfo.Version $InstallerDescription = 'SourceTree' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } From e2a60904b8e7ca30622e9a39358904bd9773c96c Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sun, 31 Jul 2022 05:14:38 +0200 Subject: [PATCH 41/49] correct help comment --- Update.ps1 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 8a30b4e..a343205 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -67,16 +67,16 @@ Param ( PS > Get-ChildItem 'C:\ProgramData\SourceTree' | Select-Object Name -First 5 Name ---- - locales - resources - SourceTree_ExecutionStub.exe - SourceTree.exe - chrome_100_percent.pak + de + es + extras + fr + icons PS > Get-ChildItem | Select-Object Name Name ---- - v1.60.0.exe + 3.4.9.exe UpdateSourceTree.ps1 Install SourceTree to 'C:\ProgramData\SourceTree' and save its setup installer to the current directory. From 81991b3ae3db9d9ad5cecc31fe33fd33c2ff5ce7 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sun, 31 Jul 2022 10:07:29 +0200 Subject: [PATCH 42/49] initialize prepros updater script --- Update.ps1 | 38 +++++++++++++++++++++----------------- dist.psm1 | 8 ++++---- icon.png | Bin 21734 -> 34308 bytes latest.json | 2 +- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index a343205..96c97c8 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\SourceTree", + $InstallLocation = "${Env:ProgramData}\Prepros", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,24 +11,28 @@ Param ( ) & { - $NameLocation = "$InstallLocation\SourceTree.exe" + $NameLocation = "$InstallLocation\Prepros.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = - (Invoke-WebRequest "https://www.sourcetreeapp.com/download-archives" -Verbose:$False).Links.href | + @{ + Uri = 'https://prepros.io/downloads/stable/windows' + Method = 'HEAD' + MaximumRedirection = 0 + SkipHttpErrorCheck = $True + ErrorAction = 'SilentlyContinue' + Verbose = $False + } | ForEach-Object { (Invoke-WebRequest @_).Headers.Location } | Where-Object { $_ -like '*.exe' } | Select-Object @{ Name = 'Version' - Expression = { - [void] ($_ -match '(?(\d+\.)+\d+)\.exe$') - [version] $Matches.Version - } + Expression = { [version] (([uri] $_).Segments?[-2] -replace '/$') } },@{ Name = 'Link' Expression = { $_ } } -First 1 | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'SourceTree' + $InstallerDescription = 'Prepros' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | @@ -37,7 +41,7 @@ Param ( Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'sourcetree' $NameLocation + Set-BatchRedirect 'prepros' $NameLocation If (!(Test-InstallOutdated)) { Write-Verbose "$InstallerDescription $(Get-InstallerVersion) installation complete." } } Catch { } @@ -45,26 +49,26 @@ Param ( <# .SYNOPSIS - Updates SourceTree software. + Updates Prepros software. .DESCRIPTION - The script installs or updates SourceTree on Windows. + The script installs or updates Prepros on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\SourceTree". + It defaults to "%ProgramData%\Prepros". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\SourceTree' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\Prepros' -ErrorAction SilentlyContinue - PS > .\UpdateSourceTree.ps1 -InstallLocation 'C:\ProgramData\SourceTree' -SaveTo . + PS > .\UpdatePrepros.ps1 -InstallLocation 'C:\ProgramData\Prepros' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\SourceTree' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\Prepros' | Select-Object Name -First 5 Name ---- de @@ -77,7 +81,7 @@ Param ( Name ---- 3.4.9.exe - UpdateSourceTree.ps1 + UpdatePrepros.ps1 - Install SourceTree to 'C:\ProgramData\SourceTree' and save its setup installer to the current directory. + Install Prepros to 'C:\ProgramData\Prepros' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index fcc4703..b854446 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'SourceTree' - Description = 'The script installs or updates SourceTree on Windows.' - Guid = '2ce4bb1c-1ecf-4b6a-83fc-638475a03115' + ProgramName = 'Prepros' + Description = 'The script installs or updates Prepros on Windows.' + Guid = 'db0bfe17-68c0-4fc5-9fc4-8333cf4c7ed3' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/d443476a819b0ec2a89519b383fa10f82ad67d18/icon.png' - Tags = @('sourcetree','nuget-package','update','git') + Tags = @('prepros','nuget-package','update','ide') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index ed8d82c712cd9f9942e88f6795483c054d4abfa8..af1a9f7867525c574f5bfabee757fe91a44f8569 100644 GIT binary patch literal 34308 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 X61RrJHBmEx8W=oX{an^LB{Ts5g=14s literal 21734 zcmb??Wm_Cg)Ar&Xf(M7-PLKe>LvZ)t5G=UEqKk9k?iw_>`{Kc6(Ex$q5`1x6b|3Ed zH@wGu=;@wgYP!15I=i~MCR#&H9uJ!W8vp>{DJp!?0sxR+Z;=3)=&yyb`%jzK0@YSp zRT=3WM#5sP&W%e+LzP2)Q zFalE;q$VUJOkfOtWZDF5=Ssa9OqSve4`*PcLi*NEKQJ;v)z*mj(B`u*W&+|TecsJ zfAT}Pr?JZ{405(NRT@3LVhWf@ot0*DuZ}@gbdA_4M?KvBZN%?-DgoWsQoVo4FSHyg zs{x;KwQ8RJ0V+%dfAy!J5$DNTp=YL?Q;#Td1uuSf{6IEN_xXn52&o!lQV9uJvj!B6 z%2;Ov_z>?}p6rf1AeHA+TtvELEpXvX&m*h>* zX2}`9-p+OA`Tylx-$;E&Wf=BP94*-(YztMZ(xNmAM~}Ac?TBHz?s<>S)H3^sY$$(p zk~}N1T=MC!X(wi(OWXzdkCv+9qn48E)4vmGuoTObv5M=E6_{_KS5X-Y3m|myYsm1q zBtC~1MO!Pe9fXBx;+8qRPzfF=i>Ev!b8GNusE{-mOfUf=IZ%jpee?dWI5D>Rwn~lV z)0U-*y5n9Ojt|npnT=y+=%OxQyhvaf=7@&EB9RD}g~(eKB<4$ySa300KiYJ?|5xCd ziKfHA79+?peMLhjtzq;phXG77AYH+SRt;`vbsofgw+Wd$OT21!@SeT> z(30PUZGNYaPW&$Dk;)W0-g?8;n|Io;TgrDRWl#Q5&Z3^qqk=k7h0inu-=-aYLsCWu zAWMq)OYEMgE$qj#`+UBwPYX<$TN~M7*(kHo)JK|PuI&nodF*f~;DeDldPvtMNU8197(Q7B2GOB4~uTyXWf*}7h!jRp_*j&Ao zd356zf*hXh@CzN7=LUjYmz%cLmz2TeSbsJsM1=M{hQ`ndVnCkFd1 z9)#HyQ^b7C9{ix=Y-}6o|G}X?fM|8wCuyPpDfs06&Z5rsZ>%1Z`20bkGyl>+53&M$UWNJ_!PqZ%4&m=SVoc?E3%?M(0y^ zeTmOM@s*xKB!bY*vbH2^e?)$zmkRZhm=7549|v>KJNQ0inbCz^l(LAPx+8dEI<=L9 zkm*7UW6p_$ni=XW{?IknhX=+=eRkeCjB|lw!0*9@yJvc*?8qoy-%q}ir>l-Q1o?f8 zg&?%GJT`*!j|aSBq<1(&w8sU|oj;hGI1;h`<}9PdFl&^P{?)JNU#?SP9ipAZEac6A zLGvge+3g)DOYQSYTroP%ingGD|M-J0Om1+^)IarL>XY_71@T%-$2YzVJDM@YvE%w> ze5)HyjNs=)kNG8(6T}t!=KY5Lu2c9q!HR;Bltf?Q(Hx}dQnGjK37`7?SC3IaFOuLt z-^}1pT~4txhSH~cXvQ(=plE@8v-4A+AXt&rVIX&~x~xPlpyYK{Ec-tL;niMGnn10M z8w=+h=Qk3!%j@0)`M>7fM;180DuUv4E+Q1L>K4FuH;h}mnEu^YW`}&i8v8cv6$Ne9{u6YPw{N2g;k-hH z_e2SnOy=#PD9tL!eQbF*37y6slNede$LLzCy224V^MAi76DZ|E>tz+<$}^6mNFr@p zw|3LU7O5l4Nmv4FVVZBc457(KCFYCwZqQ-jFJI{d*XFBjMZ4n)(CYUWeaf;Wx)NmY z)wP{zNAalDBe>ef96;_gI6QFF)lMGSu9#GwcQu|oF+(8@+!|8D87t-6fnUF}lnt|e zxzw|tll5}9FsX!piVSPC2}r+s7R8EY1u>ec8bLD8rb$(3JM&TS1Ck1RtxUdr9%ZEF z!R~iK|Je7qp8L=24ohowUl^^cmo8oWY_Pra)EgU{zdLK?McVn(k!WyVc8N9)Np8X| zz0~R+Z4iX2?zu2=w*8c7<%oX0VfP<}iP*yVu#o9f@p-_M+T-+NbpSKPuhGdS9B-R9 zMKiD`;g zaVUao#N~MAOQs-t=EO}Ac+~^@Hz<0kN1%`}KtIs<6EI;iS6v81kzv`CV(-=v?u>kY zCXiCa(2G(z2NQ~G=i8d1GT&RhcRMi<(jtXhDq(rL5=C<==WMRSMsErqK3J^wXdS#A z)zKVMd@midhXd+1VRCEwUN+!Xp0xtEa5lU~3*G!6%uGDcxP!tfRED;U2dxrCWQ6R~ zN+%J_f4~Ou`@dsjDjpfjiN^0OvNt|9$e(5fne1iue9w!jAezoCzfyw~dk!?sTOFEA zR$d(2Zu0lpT(RAX4JK4rN+YFld^>xN>e$mRECG#o50JpCBtlpP)7--<9fkcYQ-)PP z(e#QjamB>y!x~J%I=?DM^r?B2mk(}s_i4X;pthUJWqSecyQF~zZUP5*0t-%tx z#{105`6PQBZY8KT6*gjHF`GQh`eVp=Fb>J6Iv|o&;N5ho3Xb5W3ea>R*AA@jfy|Gr zmz)Kow^{w&=S&t1ltHqu$lu(LpE;((9l3kI%_$N0D#2x2Z^9t<5K!uaJf>;R0xo6^ zVSBxC)i&iscUmycs>mT90+yPU(zi8R&z!dMDdUp?QW`nvk9?-vc41(2!S*IJ+$={% zue$1IgmZHQ8QzX6o^a*wr+KZMz5fKRdVD;fbtNAx)j7SY zkXcVoVkLS)n>TMStfEXq`1wUEM*`3L_ytc57rtA=ZDWrW%@%_T67VN2Q69<4J7m+Jnaj;c zXiF&THQs67S^!xL(|sbWkmkc2zIx8EsqCF^L0^bI;AF8LGooqOoL))N9L)E@kb7{< z*4&%>lufW1j-+g6>^Qs3nW9)O%wYqSJGlv($oa*urZ6yjasVyv>kEMoyRhfJy!zd_ z3ZG<0x2`jqY@exBT>ky^Le4J&1jrdmMe1)p3E^^rGUwI`za9r$yO>lJmZFGzK=#8A zZC9YHW*QqpNe@cx6p7#T#yrY;Y<3H0+hI@c5EsLOS`M^@o`l#zA_B9OD`>+9P+p6@ zFKx1<0Zwl^EVe7LKZ=y!#$+8}-lZ-!OzKL&1G9tNmaQeq;tZ0JKp5C*Ui=0px?G{i+O+nWa0WvH8hOe5`-Lh zJx=TSB^Euck@dc%M4_1$7S&>}_LAJwm?B~U3*{$Z;u35D9<#dkC(X?+)$fiz7Pe%jA12<)anKAbt zbgy~RJq5ryy)$R4dxent`JN3$`$v*vk1+G+3mqnlL5SR1$j;{<@Ce-erW_dvJnK?5 z`mb1;4w^ZVovHhz*<9a^Q^$wHC$1ki==O2+klc8D%Da)_s1ZsJF;n|+(}xB%_7;-1 zR8UuO45!&xcM4Q_==vSl;pcg)>xTV+wt;8k@Cc-mA0@iD^bs(z3)dHi+C1rj$%M?l z)ifq*(00+ooaiNH8Oye_Ln|l>-fqX`_j2-SRISdv%f*H3eqpq>5=O!-2|gCfAQ6k6 z>^7XFiOwWk7rUti^3?lnO*1aiCNaK_e4cV&5WRB!1Gb)hfzMY<5h>UhF=efEK&{~G z0v1(9%RnXS3-!tzcD$@Vo;Z4UQG8__U7zSv4i<{cG++Ig{UerK_{G^94mqbN zu@_;IMS4(a{Cd^(nD@K^q8Gh4&dWZw`Jw&<1nWtR{)+tyr1-U5h`2gJ{_IQ2(08_F zWV6*e`iGN#phMr*VCj(SP7ucKN1w>>DW)0hT`lWbspUQ}`Gq`f%;pVLP-U&^f_z}i|Y{=iHD8N(h^n*wXg zjIK~CR+~MsjL_CN0GPaH>Mex-Dq&`+-BcF29DPj?6^i53xYaeB_cFtiME*4_6=%i( z3vY+kX}_?ldZZLWCWyoHqbaCV1TH00)1mP`W2w4_{P8|@@wy^v8C1IiI?^JuLA3Is z^K8a`2fO`{Nxjl_5xxm>`26K=VXDPA2mM>BjBy@RC+hTFoYi!vn)w@UhxCF%)Fh=MsD=I z9#)A@g!5g)yW_9{8fkUxc{X*TZbD}FhUW&Wy`NTATJGjbT4P8N-zeC?{hGeca_}KP z_gjNSub)gwMO{Q}t~PSOW6}D(A3l;QPL`wPn)V-ww7-5s60ZqZy|sEK)6jTxd$a73 zOA%go_Tg_kl8b$*+od1P@j#}Zck~$MZ%*PoQ0TA$2bY@ZH@7RT*x_qVbU(V>NKd7t zw&^nucAoKl3w8{QQAWs_2hh2GFPfS=(b>oMTi;}yOUoY}zvScnzDkz+K!6sizjvx@ z)TP{^wbkF{v1d7G6W|DrR^#`0EA~q?_~;v#Tzct|z#3_=%M(r=_))i}<4F|L&o#aN z;UT^5Jnq_TWbRINRQt`l7=5z;vSLi|5Fm+H{ab0NS%D^t|^>Qy`n~iG3$*O$G^gL}JpIwEIXLY<5e^ z5p@4WE$Bt^n=Pph&3UDa6&_?Qq@M3h+>*Hr6wL(&Ya=UvJQnr${fo0Ob*9|5b&}SG zW?S3h`?rjZ^cIKa&oQ5%VjOA3HS6y@3Y*@Md}cbi4$|FM)dE@Etq_Ut{2e)MzTqu6 zvH>U?I(HmE{aZ~!z#dR0y8^PWuw~`2KD;PO66BOI>>;WQ^*Wx$Gw#<|$#$k@+p|&x(VAcfz{W-QWss&8+AQWAU#*a5)7+R~3$vvRK$gSo`A0+v! z1TyP~iSB10ywY2y5JQ22E64USM|qyJkfGz5JZinA^jkqww#>sDcce6hujco8V|yXA zZr}eBBoLr&#lP^pEVuJ@T&e1|KcT<-P9Zt0(6|8g9XBuBG7DeP$i{;YDmbk8D9GmbgO12V^IP#(m?npY%Rfk|1`QBCIvlFz&86L@V z-@}LWxxYbwwF6;L{3qTt4%dm8MeZ`v@^~P^G+z04c95F;fmZGsLY>y7k2x%z4iZ%T zuUK0Pc7gE(T*FyN;<@@_57Svj`Z*!RzHAEE-w0MWT#F7X^w=?a*XvHOAF<4JLSSfz z^w86{g=W^3&{+XSF=${Xb^0Qr_kyr^b7wFVOJ~}rU(cZzizV|ktTL@&+VuOtX!+i4 zrpmi;ny*`6mI3&PX2&Ui6&tVSo30SCusI9Ay`V~yz_J;v7T*8V=mbIQ_8~ywSZ>~z zEY$ei5^lJ(ndXle7!biNgs-i%nVhqIU_X)4yp35Lf{koq*S(&j{d6dP1~n}yViU^s8*=c8gAj` z8t$8!AH#Z5)m`~lReiC2m+vDXkJ_#aA@e!qPPgw$w+*x|-E5*^4I<-f+{)LGi(^aR z)&p@+Iulu8&bMKz*j!qUx5jtMOoi58zAO>W*Qd^Vd!`W96qMZ*TspLYK>XW(RfZO0 ze(RsV&`*YXfMQk3+fN^bZvI=EVD@ayCI&CUpDpItjRy`H`vUE9AU!3Cojs%F&Gj^X z&#mOWS8b+=swA}UG)HG6-C7`<_F#3Lwdj6jviWRN(!6IQsSHv>q}m2Rz;?UHV^~Gw z@h}MOchMm%wwt%)&->huJFkq$3cmPpHv+2{ksQuM{7mc&9QA>?6kn@1k6c^^>#_Q$8Mkk)R%azUk3I<9_8p1 zX~38{ELP9g519A#b&5dS%D?X0181fjoz%hx6UUQ@n*JM9Q0ylPSw6o`>Fed5e z`n9qfpE1+?uzqo$awN+iP`#wfb(;yjpN~*+;ZdIPXWPHPWc-c%w#*DNjB{k-8ZUI0 z`G+TtKr=L301V>#yu&I1Q8e}Qjyb76v3sAJNb9$K#3pe|Y2e~h+Sm)*E|Vru7O$y< zt4Q*;r+aTPb)fw-am5oSmPx=8LJCBMb>FV~G(~sKa@{rC(cG-d#`zwv1y@$!>w85Y53%?Eg z;ZU^YA9ys1U@1RgRU($KG4>soubaFArxLo`=tpUp$w7TwPU+WNNbo1-59ZkocA!dvq{T_&JpKk|G#7s0V>qAgm*2FyI} z@+;m04?uRcZCY$_elv&a6Y$HS1PWnvX8QKchdeaeASa&dPp8C%j0?0q#Zjr51{>L( z-@PyfNPL3+Mwk9i=&K8}p)GROV@tZ4Ec_bvLL3%)uz8!|cSQckk#;x@SMypVfD##oh;5d@Cq}^m7*> z?MG&+H$Q9GiGo&lFiO7-eCa`maRE20{l?3?dO*!bc$xREGfLgCO1|_(zYmQPicS?Y zVuVj*rs%lyUnHeG@`EdSZPBtr_&=+^BwH{Ey2^M{(2OaXwtgJmcj!*&)0+hc4RqHZ zRkk1_uZ3EN2Q#&v{p$B`MzVE1_SZ||Wij`4c3(|DG`A-6iv`_iWu1GGR7NTjnvV4Q zufxI|{Kh=}5gBtX#yJ+#gxx<;(=J(%SUFnQy*|;~04FiwL-hOO;^vLxS6% zT+FA@R>%oB{~JH}fTf?7)Jm!D6(H?Cpp;uZbCmF6q!@c(2;N6K+S#E~2wJmyzoCYM z{@Yl}SC>xUCu)v0(${_}zOX}m?iX>jv1ITO8u@|e{X=_R(DgiLWe|tEfVWDDCp|w< zqNsrQ|BWHgEf4;KXbiXJPU7ARtkH&A}JkzL(YPv=jThsp{uo@?NwqZyogin zM!xH?3V06b^nXeI0>*@w^s&L%+{*QPq&a8w~}&LZ_k+1T>L|0dan|-%>+L6wbQ~{KStcpM1i^k zV-OG43CWtHL@~rjWGNg>L?YwO7+b47Z`#H9!frQT{lz>1&`pdfwP65a#Z?;No<*v72MIr+t2e3WH$4yHh}nGI7Mc7jMeTCuy$ar;iS{Mf6c&xc#ck%~ak87B-`3EjqOxX(-urMu zErIiISd{ArJx&pMGaz)JIZENS=JE|(U}|V&yjX{uFi{_wn30UD-Jq3Kxb@6 z%=6>#MmV8MSmJO?itG9+WJri;X#ZU>U(3b=qf{0M;ueTo{hZ6GeD$X8;i1;`CNWFh zm>3ta73K)YNf5;jqSyF|I?}d>|iI}7EWDePpq1u}m&U(73Q6o=_3|WoTr>Dy@Y;ECukv)8B}m~DmB8#)yvFw93q=RJ zrhT0yKExdQuoJ8!kOLq8K%nWJj?pW{jC~Pm zJ#BqH&S6)AR#f+;>By{&LX<1i0U&@^F3H`h+PXb%wew;WczXJ|3S-6~J?;`=3%5~6F8-D^S#hdYywS5(}^#vBNWeiA2`O6c$ zmu;+Fs`zY%FGr!a?p$-1YP*hTb_(| z67g=a`?NNe@tPYngsJZ_%f~D<{ zoIG{ga!N15Y%mP6H+EFsWn|Yzwytz7$&30E<%0M%6e5!S>3Z|~<61;!aD)G=m|%2u zj4E4X(SMW>?yuqbgkzxtzNI`6MsS7<8Uq^7fXB*8{+gz4jDA$>s$;a5ft zCrPhgnl!Kf`G6dNWkUz*cy$Wmfz>}bo7li^&9xa(SKrDR+w$cu2SZQ6^nc8e9vFj( zk2Wl7?OPIL?BmrRX@6R*8UV2}bR7enN*Uyr&XzSqUiJ^o*fK$?VK9{PD_#-27xCdr zkp(L7o8`cy5SSdX-Y6Mu+1ZY+`2ouC2m3L9oxjgIF0Yg-rjaHNacp6j2}VsWkTF17l)e3g^n%Kd zIcMf)dF+K6V_+ySw;0d-xw2MmfaAI~mEWzj-mB$X$o~HLChQxb=jRC?%DuugPO7)1 z+M(c*?Lp3@4)LCvEAV&fL+Y%FN_?+~tcJD)PB6yF=oXpY4A-{`hmEUcObr+12}-o4MPGVP#tHQiB(VB<0=bKj(T*rGpL{5=*Q@UBfd&DP>JQdjc_ zx**vny)!_7G@oBf4{84&61%4-PG%27iJJx6LF_+th~IV4oTOc)WkO0Ck1&5P*`m^`E_B!& z+xUu#LXfK2zEc*y;(&5P4ekra8Xu0v)KC(hUR6L!^!ej}tJ#ScA#`LgEa{ZOt{z!o zEmX*4VNvT>Z2*)(gg49B~mkw{}>yky)6MahnD@IMmCTZDUp-0`Q?5nBt z2A{>-n!a*xaIVA(>459C?;Kcgue+UA=Yii;JBj~2gx(IBTBuAb#R z3H@kcq_jb2MMCr&I+6uJ}8ky6R{*)p4M?1WhiX1>y0jz8jp`-uDyVP@L;XffUyO zHlw?7THp7!0*toO%`JTF5vo)~TpsY=)i>8g49w9(9?bQOR7e{~qC$>f(aBg2%Pl)Zx_vAMY9a{uctm zGyQlFnj$mT!?pgc+ij;o`SpB2Q55B^%J4g=GYNS28J9JX*J_~-d0yYMmz3A=7xkaJ z_m^Aa8=f+|kP+hkJ#UQB>GX&Ci(e^E9%T((M_HcWMQG4VDeAowPs6kMX90lg#60mP zqCWtBqdTnoM?~gv>5fD%2!mBY&B*4uaT(8b^$%_**j*q~8&)|AJb}RcqxeS32ITh!q;fCx2JiI z)z=SO%mSS8GxM|e;T7&MXfK;H=v!nw234M24CO;CBfyAv#l`I)MF1knG`w2Phl}@B zm|KO6ZdUn`jy`sA%V^TJ6PabsxKsB4J!6g`CM^N+hjImc{6QLlYkh z2_1_a4PA!~4C;hACe2hk9aj$<97_8KK4ezfDb~>qgnG)EuZ23wCACR+ZRq4CGfLz4 zUaBbA1?dkGg=Eq%C!x>)KUUyc>PRP}lHoBGoe5Bz`3Xut;tY6ciepP%ns3ov?;;&w z@HvGN(v)jolEzVaK8!PH!?u+%6!@l(T7`Ymhdb#D`E#c_Peo6!*5SzAawZo>X}#AC zElecHLl~{gbz6z^&GI|4W9}Pt8*Szn-$O8bgohdWRlIDf`oi1tyPy(g?z?G_-AsZl z4f|inNx{nSe-n%zf++d+gVhhm z=CL~+V1f7ZzY!RDWyh8VLB!FSBg{3sT*}bdW?vg-s(m`0_)oQGi(zC^K|8!sD#L`JH*brJWhxtTi6$1H@x&Q>wFC2 zH#u?C>j$mFu}tOmkrX6a_^0Z=W=G6(X_XjhgLJG5FulM}$!3T`nPIdtBIsdnGduMy@ovrjKM@RvHe>?TrvEp&NMJOkDCy#>E*2vRPfW>A}b zrWL{c?z3h`u;FHYFl(V>P!mSc2mpt($iLZo$ek;@TL`O$l$@u=;d4}k;|3gV+tCDa zF9VEH6|2e0I*wH?pxFU#9}>Eh)DbggmCKnE7!r&m98WttCP$Af=RkKkw{tdFrr+PJ z9Ve~Q7{Iwo%;z45(FE8wYFH*3`jF+lVr~1qUAM!LOmWe zk8w7;tB46%u{v)v*F{+=g1#&u{njNHTET`kG!L{C5Y(zsu^j<0$hxyiWS!Per)UM3 zJFc-dxe9pl%dB(Co<)3T*?6a?7kPidAL_C$G+qBub@{Eu;cO=de~oe0w~i;7#Y8?8-*Y`7;veur4>D0K<6iuvWVL2TxY0ycxF#Pos@d0a z``db#6riI0Zj(HqdS9M(!+qcEU-OsU7bSu1^zAIB$7;&al`bBU-0&R5io&gYS#sfN zd2-SYbccSBp2mf>@CKJ5hGd{;&Uo}rFX-i`BS=&8sE`>y+Fn$35QlYQT|nBPCi~b6 z`3Ye{2bl_~E%VwaQ_}pbs4ZO?@S6=-8D8B#Ip6i<^o#?$^?8%(aMAgL>j%lT6S_aD zFQ}p*jX3S7J2Z`0M_KBHq_BEh^%V$>hwfq>f*09vJ{5D7L0P^vHGXJacqNL_Wd>3= z!3VuEo38-wsP>Eg@$r5NM++r-C=3(M4rMDe|9juZl7tElehtWa zKEIh5l&mHV&fzC>6=|`+*c(MQ+EZd~a54v?g zb@8$z&HN`I9LUe+6uWczmv3v<{kvZ(?srazhb0)xQAQ=DRBlKmG#UldXVi zbZ$D=^~&&`bpOBT6H--ViF3YY_J^9SNTbom6`wbh_@hSxSIZ}4RF!f2OO?G%_;f$t zhAyLxo~#tC8Ey5^<_~&lT76511%{sG2jA|_R+=`AEUHd^_Iln zW4VFu=N2(_z#kf9B*%^1!#>)AVhzF|*|`j{T?rnqg6F{>%h@sbT+(BKpZ^pjkbT@6 zZErp^^0ynr1qe7$%s$8S^EXMX6TH*B^SfDg+>RHIrB_)R$0rXcAPqRhkOv|%-?&>< z@v9<5GuCsTx>=1kn>}5ijy@;sP@#^GP>TdT{KpPs-k4Ad%1J=^uh5MP{$>CNr(FIw z$}XyPy^{pM3`2)Br?sz0J;wmoC)Af|i8{&qday@KjR%w1jbp;vG6ZNDq-^;U(mn4Ru7jOG ztM=lu7ufwjiWo+d!YK5kx-ixO!8SkQ^h4_E0mgTKdqM{H24cQ*lyBqB(=kjWV}j#= z%p8>FMWaFwn6TGfb}nu9PCBSL)2ybjD&$tN1b8;vX2E{wez>c>ey=i@T-zOQ^(9Sf zxAP~TZq|SQi@XF6E=s=&M$$d_BZdk^_?M5(TwE{-AN23Y15sKFk7V}z8X?bn{k03=ViH^5c}FZg0{qT(iY%fm(3qiUg0 zi#I=6>lS0$gX6Xi(^%q+s)wTZT=y1B0SF9rXhk&9090BQvAD!6!3ksBdPq+(~Mw1I6np3kX@``b; zXZ_XEVdYLWR*gK)B-z!M}k^BGEGTU*r-xV6a9uXA_~} zv8*flL~KyBAGMZRIs%Dba_>);)XFtuyZDhRLN(FJdRM>jNAxb}J8UhuESZ<7+3JRl zsQbJGG)OC_K9-gm+MT+F+nW)CRbV$6)-JS^_>K2?O5@ zN<1}B&#p}~(SysL3Du!Oj*vz>Go<#1)yDpyAj?Oug4_p+!TK0pEN9W%tq3$C(TlLT zu(WAJ@aS*y*Q`NDmxVd#}03#i>(ujfxLz2plU*PjB@`t^77 z6E61J!YT~%E5-aTx)X~YH;G@*9L$=CCm`tary!fiR5Ks6*UY5?kaUbYxR8UMK2z)iAk z=RE|DH-f)QjdDeC_&>zDP&tB`7Nwu%a9~@#ib0Pz0?&!WWPI6e(8vtQrrAqh!U*+mYn5n;c(3xX zy5%vQ0aZVcBD9-tTB-n7QU&5Z8!|!m6c)N>H6gek2uS!@HGzu5nXalp^5h_@03A3N zlEH=hrbPu8Hk}#ZYWPEtENL|q@=lLGw**M|Xgt7DceWTzM!Hu~zUpx({@}j!1%pmt zSwovDgm~p90#7ATEIPfo$vrmWTi`v?A}&1TBv-)FE#-%o8uz?w=J3LO|^Ny4a0|eY=wv- zj?cwvxj7j|lk5+EC%wi0HOJlSC(!s_9VSVtq#hyy?GN7e>jPvZ0lo!rxcJ@(K2SNV zb+-K7;CZz{Qgg`iX7!;?7U!%mP%z*A!T!-jXm}eWSdcYAlb#Sq!2D|dG+=9)AQ&LG z_aYaeN{f)W4s3<<76FLgb$W5g`)q_M=#nljLOG@sYkw*ZOuhs5%*DPHqkj;7B%9rP z^TWF;0`y5PpAAntMbmn@7S1~S8l)y7ny{3_K{u{%iuKE%2<533S^)3meeD$(< zZCrIaOI6Q~H_D2ML58V(8b}_pJQU#@raHrK`Gi&G_gH~nxJX9gkE8;|?@mUKEupv& z)L#ELo2Lp6USGr&4e}PrRBiLva4zC|U&lgHE#m@rdj||ZF0mDeye~vuRg`X)bIkY#QHsQ~7TZ40+j>Fp zG0>iRV59Hoz?37y;U_j729?FVxa2Rc4jWOP8Zoy*2)bz-(&o{k8eFI()sf6J*vNG? z5P~1V@S127i4PFe<2MN7r_c)5btS1NX2pMW58K_XTzW)Bf(pz?zq{M*umoH$|D4py6TB24AB?B3F* zBN$nOZJ?0w+P3mu(tzfx4W)oau_&58^1C<?`!|AIX`>0I# zy7vByT|t5uo^;HB~+Aa(ritzbwuSE6?pyu&Cc}kQObZ=CD^}!D;CigL*0-o;{fJ0MxB;me;AJ)jqrc=Y>&n6Hgk}Lj(B#~# zS1INfn>U@Hbi*D8qrdc7DDGkp_wD?GP2{4r?(&Zni%oyVltsJWPaW!QEqNVS00{^y zxJ!SC4yD~#i~rAL_Cc4Oy#QuM>9`5dj|aTP*97?9d?yy}4W*%*F`IM5;@N{c;rin; zpZ)DyDO&VBRYRpJTDVQ>gHoZ-wQW!GJYOvq2TcX|NNCJp`{s;nf}o4h4<(p zI@}Pd@;LenL`zA}%0ylC6$PI0i#LGqj~cNl=7o{HKW#_y;DSFZM{q{MOJGjChmj`- z9RvmBCMtg~7L$)fI_+6%idIqycE&L!7?fJ$$Ev7tTxM==orAUK?i@(cfj`NSIqMGO z5T>VpCW%bkF%kV!fO?9navGS10pIb~A7p)9nr`Wye%{^Q^~^2`LEfbPm<*mF+>7UiAs=yI-iiElj` zPmGzGfe(YIO8}uR^Mp32`Ezp_K!>B>$8!qsdf+>7;pPe1U0Gda_jvu|+q8+_^|kuH z=Iyil`-n{;gl*Yt_a%FJw6KW1&vsWS`#xLPYo+zRGniiIlT}V{sQtA-*V}j_yT%o6 za}B{K!(edeXDK=Zvb?DIIR!0CObtpp2;^e-*ArwGktFRNQ3g%_i=_gV|^v{#+ZkJaoO6iobIefxOV% z?T-4JS71=m0+WNjjT2L5rRu@JSyT_5`A%{gh4$$quk0+WP!Q6mH2om(wU#jrfvk>Y zuy?O+iBE0*kjK$*+LCdO>eqKKB1XWM%7Mc6~nRK=p||0+4Ja5%fJj}JkjghVG8BBGZl5p@zG zqW5TFi26uGh~B$skto5VMYQNGq8mn(41y6x38QyrFwA63dFQ>Z@8mo94!)y(pR8+L z_geej``&x4|F7qhYE$HjM+1Hwl^hQZU%1mFrO7xb$#NwJs1N}nG4z17SMynZ&4UMvt_7(hGqUMN~$q96sFS1_7Yus9H#DkD0(l!TEMzR9$Mwp^Jg7;7Poq zXfK&G`Em1XUm+GX>%nYiqt_=mx+Bt{y=O3_bSB#$W=6`8SoK0w4;?Azv!YU>{Ao)Q z&(56d!qSJRL>f;Zjy*Yv`DMa&Nw~ofS#RbiVE#+w|$fIdfx!g0z zs&X;F*TYIm*5a_JvY;U`?J96=lR3Rta>Pze4+|E};Ro;%uJ>_1p`>Xzw%T^fhtAQ=w9?`&amZx&LEE?40BWl6+S7)0 zo#_qoXgc8(ODa0m0!F}O&7dqlEdgf5z@Ojk@3-J!Ll|j|PQUZ=Yn?KsWokq28#-~g z(3#xZszlQbw@)|^L$Gy*}DC&Fsj>E$_gUK9ehZ9?948lq#tRQR{CG4 z0j*12l&h(xvz-Imz`uT>T#Zjuw-+kq5(MB>O7SdZ3;H1A5heRQWf&-{wA|$j)4#S8 zVbdF+3k*MD9ZR~29lhq3L1rKD?z{17GWm141RzHug8KOJdvC1fz$sV57mw*=Q}i5^ z(ad%rbmYr0`_%sRRkz1IzUbKD)5Z;v?Cn7#{sO%wUh$}UoEWWDiv3uW$sPOKeA>7Tr;HzXpo%pi{d08Uv(nQ1&B~rKl8O$siF!*k!*& z)O(yT8h`N!4*BQ7>dVMI@Gx>&>Gs}BmA45;dA*?D)v#_z4o9?4VDI%=^;^yApG$p>xZ?n zhOd|ACWbsd`}ELIPktXB_`5jk_N3i4|GGLVSuHuU|H_i_VQmDwniARhZ#vYazaY`W zIRr6Nw;JI)9_4x_+lj?zC^SckZWV)z4ovE1Osb4c0XOPSVP0dvycbIv2Q~zP8%EkO z{T4JV)lWDpaVJv$wGPA98<~MbS8;4#f47jY)!@NizSu=rT&-FiC`BTwj4*RD3zOAa zH|H>r#>vHGte1S$rG8AutPvm@)O(q=S-fBr(f|f;7uZyl7*m9^f`3@ic3tZ76Q4@z zT}~<(ckRPlJdC{vENt@C$lbV0xp3dKYRwF692kb6M3@lNjP%IpGQ6Kspu#xL!WPhYoN%7e{XG- z(4#;fvQfmBN_F5RRaq;p2+80bQ0uFHKNa*;(BGkgKEQ@>UIJ)(Cc^pmKMa6z{fB1D zuZxeAHGZuw>fx;m4J2~3x*qvkj#qkUg_*ADaHhy1qFLgT`>n@Zq802&ztM26KHf2~ z0p6-4pJw8RXsp()4weCBHB=xkpGV>{1jh;?5gX&e@>cV}AowlSr?^rD4nVvl6?xGO zk#T>z-4%F6w8)^VU01{M$5Y>W9q0acbSG`)U}>I4svU`LO204|^ot-T`w`0CH}>^%*3rIS|qoJqT?*f{i;>EF$*5A)%! z($}lmpXGnAX=6_>M|zT$(pi{n_xs@hO(|5hKpxLBw6ZZGRumM#m2)?0Snyi^4wRyDKi0{XGPC8`hufpF~=(2 zOrPDeF0tnlm%g3pBLw22OPku$YS3FXs zz0e@=ABUdpy15JW+&ei$Yy&Z6RpQlLhg&)=x3aMy1MfhWs@hXVI;;vVM~GSHAcwT zz1xI0hhl(hSo*J68OjDW{(E2~FAOICk>63kM%KyiN2&y((y_7#XV-KDi+T>xE&OJL z+E|w!JNTP%9Q@(Dgh*o&wdN>ceKB!^5NanUV98o z7&Y&Z$eUa~e?5lhd56FxIG=1|kUof?6>06?FFD<>CS2UDBLLpq7^E`R# zIK|1x%bB{%RA8*alQ-HKp?SLN?U?&oBQ4a?pQjGyqJu!8WaB^$G~lhtCk#`g&}>#i zm%CtQjne)?zcSo-DL=|;m8k2RLm_9Zp$Lvqu0$ik{uSjWY?6r+C&9)2-$q{k1BU)h zuCJEV2}HJ6kUcZLFt#|!+{~ixj#uV^)f+!sdiQ#hBQjd|3QC-puac9Xq&Q24UQ*|= zi&u}&7Z(SrujO{scahO!yK&tMeq#~i8UdMy&{hCv+oO(r2x?vfMkN+vM)3Ga%uun5BW?|M zF!!6P;(B?s;s2BcjFsYv&0I~`>}6ma{Cy|FNO1gnQBH-fFY{&PjnBx7dq>aZE zPZj{LPTCb_fACElw2^G0?e*>qM0)Y*`KeuKA_B0wJ;85LUt}eW>+qdh=YFM!zc-lp z!etYwA4V3{RcvDSF-y;ENJM25i3UZj!j0wP&#)n121wpr!}0B-O@m zVT`i33hWh28Lu3a>Mx;OJG32-7BFpB&5SW#xQ7p{ro@W+m*E)U6Id$47RL|9SLH>C z1PoKwC`CG1!7Z zJ(OxHhc$R;HO1g3lMI0Bbqu`O)r?ekEh)q`FC{1i8uJ;zdKKx37n(HOE68RDHVCZG z#yYu&$Cs%^PP|t;-t3gsq)Ib8o{kW*PC!~SR4Nf1)~vtQ0-$<8&Uu=gM+>5+&*=Ix zcb#`r*lf=JHQ?4f@M}3U5nV=Hk%3BQPoNl1yFK<_RW90qYAoexD6V|biCF4nOoF4$ zhk`=)?bW+al$Qs$3ywFYmes_g{Dn=X@~bZJeN(k75xWe1A1U-H)dX>B@Vu4eLu(pw zrw_A`x4Z@oUGX8cGIte%D%z3#(sp!Smx>E>W{e?U8fFi57muX%!SMtHoc+5f8cOGJ zcM`Mao#q`8-3#f+kOqe_a990VDxd*1_8c%orc*#@C*rW%QyeihOy)yq9&WzvY~_;S zbuPz;J}q`j zdT??s+I$Fa<*|tn=+&-m4%>Ed18_Y@*iS#RR%=*F^ts+0zg5!6@|yW{=4!smw}dkL zx#mm6!2)S{$7vY+ZG*9Q@t}ZIn;P5|3l^pDy@;-UoHekATm;2OI?j@i$V3@1v}MfL z+4G18BcoX~zUp^)c%wQk_q~5lu|tiw#y^(qfo6wWR17M~3UA;2!O2u!_^eN{-CBr1 zDe!f9$gY?zy+5^}wde3(uHJzM94jSIa^ef;h-qZP2*r{tke3LZgXl<3hu(LkZ>{D1 z7kTlyMTTBz8hFIu{GQ4@k3Mob^Y!#*?iRUT=Jnp$vQ7;4Y<;u;XU4}8z6!a%tmNfM zzuoEyzR*{ZItqUcE3Muy%70H&no&K-vVAKw3h<(_&XNFI_#u>Si5>p>fuBraQS zKG%gDMjrJL@wd;U%Y07g%Xg%PjvXG>1l^FF&2T#xG}n1+&rkQ1`q%I%4>i(9@Y?=; zTZ{#Je?XNlBO80=uy5s)(TpQ!Kcw;S_hWa$g2rLr0U#}7LmFx};g9S=ghdb`db|_{S!irA?1a`zIQ)#(x2*%h@}CY@l)Iu zm%8}^8b9Xeg!$~0={B;mCnqdMHYl;UxTq`!a|Pz=vq6@Y+TT&4f9`5dS3{YyvG|$6 zuQp^+CXmAdPLfmlaD^RXH_sE}z*nWl{6K}?LgtqxmAfS>EZY937#BtMrZ z3UMec5us4&7K9_-IkDO-=X>IP@Ov;FNCxcc<@$+1L<;EOMMcTM zYVZ zKR3z%ke8E}mzGnOR*w4OH==s}uu( No{sV31}&%9{{Ygvr8)or diff --git a/latest.json b/latest.json index 6b7a263..1179206 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize SourceTree updater script." + "Initialize Prepros updater script." ] } \ No newline at end of file From 860001158f4bc9e5b7462ded8d38801a40451a20 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Sun, 31 Jul 2022 10:13:08 +0200 Subject: [PATCH 43/49] change powershell gallery icon --- Update.ps1 | 12 ++++++------ dist.psm1 | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 96c97c8..e7ce90b 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -71,16 +71,16 @@ Param ( PS > Get-ChildItem 'C:\ProgramData\Prepros' | Select-Object Name -First 5 Name ---- - de - es - extras - fr - icons + locales + resources + swiftshader + chrome_100_percent.pak + chrome_200_percent.pak PS > Get-ChildItem | Select-Object Name Name ---- - 3.4.9.exe + 7.6.0.exe UpdatePrepros.ps1 Install Prepros to 'C:\ProgramData\Prepros' and save its setup installer to the current directory. diff --git a/dist.psm1 b/dist.psm1 index b854446..6413b51 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'Prepros' Description = 'The script installs or updates Prepros on Windows.' Guid = 'db0bfe17-68c0-4fc5-9fc4-8333cf4c7ed3' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/d443476a819b0ec2a89519b383fa10f82ad67d18/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/81991b3ae3db9d9ad5cecc31fe33fd33c2ff5ce7/icon.png' Tags = @('prepros','nuget-package','update','ide') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From e2c52aeeac989810a110fc318823e529962abf4b Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Mon, 1 Aug 2022 06:05:19 +0200 Subject: [PATCH 44/49] clean code --- Update.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index e7ce90b..ae95f64 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -23,14 +23,13 @@ Param ( ErrorAction = 'SilentlyContinue' Verbose = $False } | ForEach-Object { (Invoke-WebRequest @_).Headers.Location } | - Where-Object { $_ -like '*.exe' } | Select-Object @{ Name = 'Version' Expression = { [version] (([uri] $_).Segments?[-2] -replace '/$') } },@{ Name = 'Link' Expression = { $_ } - } -First 1 | Select-NonEmptyObject + } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version $InstallerDescription = 'Prepros' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } From 521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865 Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Thu, 4 Aug 2022 02:46:36 +0200 Subject: [PATCH 45/49] initial local updater script --- Update.ps1 | 36 ++++++++++++++++++------------------ dist.psm1 | 8 ++++---- icon.png | Bin 34308 -> 2940 bytes latest.json | 2 +- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index ae95f64..f6e1897 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Prepros", + $InstallLocation = "${Env:ProgramData}\Local", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,12 +11,12 @@ Param ( ) & { - $NameLocation = "$InstallLocation\Prepros.exe" + $NameLocation = "$InstallLocation\Local.exe" $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' Write-Verbose 'Retrieve install or update information...' $UpdateInfo = @{ - Uri = 'https://prepros.io/downloads/stable/windows' + Uri = 'https://cdn.localwp.com/stable/latest/windows' Method = 'HEAD' MaximumRedirection = 0 SkipHttpErrorCheck = $True @@ -25,49 +25,49 @@ Param ( } | ForEach-Object { (Invoke-WebRequest @_).Headers.Location } | Select-Object @{ Name = 'Version' - Expression = { [version] (([uri] $_).Segments?[-2] -replace '/$') } + Expression = { [version] (([uri] $_).Segments?[-2] -split '\+')?[0] } },@{ Name = 'Link' Expression = { $_ } } | Select-NonEmptyObject $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'Prepros' + $InstallerDescription = 'Create local WordPress sites with ease.' If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | Import-Module -Verbose:$False -Force $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool - Expand-SquirrelInstaller (Get-InstallerPath) $NameLocation -Verbose:$VerbosePreferenceBool - Set-SquirrelShortcut $NameLocation - Set-BatchRedirect 'prepros' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "$InstallerDescription $(Get-InstallerVersion) installation complete." } + Expand-NsisInstaller (Get-InstallerPath) $NameLocation 32 -Verbose:$VerbosePreferenceBool + Set-NsisShortcut $NameLocation + Set-BatchRedirect 'local' $NameLocation + If (!(Test-InstallOutdated)) { Write-Verbose "Local $(Get-InstallerVersion) installation complete." } } Catch { } } <# .SYNOPSIS - Updates Prepros software. + Updates Local software. .DESCRIPTION - The script installs or updates Prepros on Windows. + The script installs or updates Local on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\Prepros". + It defaults to "%ProgramData%\Local". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\Prepros' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\Local' -ErrorAction SilentlyContinue - PS > .\UpdatePrepros.ps1 -InstallLocation 'C:\ProgramData\Prepros' -SaveTo . + PS > .\UpdateLocal.ps1 -InstallLocation 'C:\ProgramData\Local' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\Prepros' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\Local' | Select-Object Name -First 5 Name ---- locales @@ -79,8 +79,8 @@ Param ( PS > Get-ChildItem | Select-Object Name Name ---- - 7.6.0.exe - UpdatePrepros.ps1 + 6.4.2.exe + UpdateLocal.ps1 - Install Prepros to 'C:\ProgramData\Prepros' and save its setup installer to the current directory. + Install Local to 'C:\ProgramData\Local' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 index 6413b51..01825df 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -1,9 +1,9 @@ $DevDependencies = @{ - ProgramName = 'Prepros' - Description = 'The script installs or updates Prepros on Windows.' - Guid = 'db0bfe17-68c0-4fc5-9fc4-8333cf4c7ed3' + ProgramName = 'Local' + Description = 'The script installs or updates Local on Windows.' + Guid = 'c68d19be-5946-4955-8a04-35f6944d7abb' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/81991b3ae3db9d9ad5cecc31fe33fd33c2ff5ce7/icon.png' - Tags = @('prepros','nuget-package','update','ide') + Tags = @('local','nuget-package','update','wordpress') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } diff --git a/icon.png b/icon.png index af1a9f7867525c574f5bfabee757fe91a44f8569..d9eed82cff0ffa38838dca317a44e8580d38ef7a 100644 GIT binary patch literal 2940 zcmb7GXIE2;7Ca{jhn7eLR1!d>fT%%`sy=%HNbfellAKT!r7Czq5QBn( z6}_T(6-j6c7pc+_2pv>Y)d#%~?VbAPOv*wnQ!$F(^Q2_t|oGsnP1pvU+ z6$IqatKk3g_>on3;ADSfzf>x9{(SZS8t;nul$KZd-CtrGa!>Q3u77_}GF-Q+lhyHl zetGd--`C!mk?LQq=c`hGP7e*u|CUIl9a95B@sem|scfXN_IJmx#mSEY)zhN6=82w$ z@h*u}GAWu}6pKa{#@i+ZGfVSd$C{T{#G|$EPp|%ozv$xN3cw-Be5Z!&DbgFffq;o@ zR$8Y9019kd8>=JXokLk&?wwRTjMm{qdwEy`DL_|l?T5_3&qY#ck^VoMI-0)Ii6@Nz zSY$AlAJB8+JVVdBXhY?Gl;^!3l;=01jKW+<4lmwy61-b{$FBb7uq>W&(&LjlOCw~O zcxL%^cD>$D)lLiM$f2R}BBsIPewufshpU0+O~Isxh5q&W2Zq|sD-OHV{wneRKvmLP zIk1;{Hz1riJ;~O`9BkA%_Exx@f2jBRdHXGK(yJy;4;AygeZ{opZ_jbpKH3iz{H{@Y zvRzr2^MgxJc@KpP=ZS*;Ha{eZkq0`k5}X&eo426nKo&4aXow;nAL zUQ(;7E+~c1vP97NS-aiIT*e2ErEsfy_Ducjk==21jYH@E$-d5b4sMpZxBT%4(mK;S zq14l;T1A0}dMV_$MoF*FDh16E<%WVYGRqq?7o+@e(X+cV%liUzx?v3ahel%N!K1|3 z{zbV4A5vnkF3jc7Sp`5KtpOhyJrBJw0`Ds`e&Ze+^(L#~DJy5b+GgSInRZ_Xsmat>OOBvg+K(p_cwtpPxiTv)##LWI!;Mwa*l@=4o zmikCs2muHi6K|zSAA|0=GdF7ZnK>C5KP(b(hBv=olR#s~dp5Nk08J^u6_lWBz81yl;EExwUcA!YMU;O*4oO^@*Nc(9 zolZg?3H2-ZX$wXFF;N~Sr!#*5uk_Y`?L7D_)F5Og-CsC z1QVUOX5nwBoE}wW;NuoXv7Tj6c<=A7F&5xM;`9k1wvSu;#t>FV&2-_s= zY;ql=jgd1tnR&2{SMI?avaBw?(Lb&`&JRVhz%Jd~d1=3y^`=?0ank;ea>WUfUnyEW8D5OhS_N>8yrm!k8EXv!Yo?>1g_dUfTTD&0>=pQ3#Ct{9mQ}^S z&}#fS##}(zSGbPyF79Y1Ea@EoIh>vHlA&PwYR7XcC^L!@3!0Y5c9~Zfv!W=5AbJI`7*n&)szL-E5Tx~|KNk6O`wy% z$0oW$3CCH%?)^94ExC&qgvbJO5F_5<*fuh*6|EjSNi@eY#S0@92R*9Fok!k%A@`j6 zr4}B$eroR>trJ^9!>P9|HiqrJ+;N56X^5}weO1a4H&F9UwUV|dYI`LfVjkO70Y@UO zIis-TlmYsr|JOTPjS|;p-#f!ZHz=a$+S6NJpkLmLTvk${OsUmMlPi=Gq88nD z-BmcF-W%T7$lZ_^zvdApnN}bJ=`}6nU%cX2zSp&gY z=9GqXj-M2eQ~u$O@;SaMBw10<>SRuX3|b3VN(S@s(ilwajN*=WiQNFMiHC9m#nt zMqyQl$wApvwi_BHj3eSp84Uk32W1^224b=C8|+x)*BaIBd(`LvP}!1}}~Os?ro0;|Q>)skzuy~st$PiSy< z#3Y+T%L6sVBCJney(g^1-iXc+UQlbOtPh6OX+_|5aWO=hxj<~FuJ?v_(9*y!Vj2!_ zy5noViyjES{$aXkI!;`u7*o4w zK+v+Sku}S=SQ&Wtiw#SOQGG2{Rkw2*Ti!T*ktz|iR}wHozgPP;0NCz#uz79GjQlUn CVV$o4 literal 34308 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 X61RrJHBmEx8W=oX{an^LB{Ts5g=14s diff --git a/latest.json b/latest.json index 1179206..7b93672 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize Prepros updater script." + "Initialize Local updater script." ] } \ No newline at end of file From 63243949c9bfca5b1950fd92a1f4aba86d66b34e Mon Sep 17 00:00:00 2001 From: sangafabrice <69244030+sangafabrice@users.noreply.github.com> Date: Thu, 4 Aug 2022 02:50:28 +0200 Subject: [PATCH 46/49] change icon on powershell gallery --- dist.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist.psm1 b/dist.psm1 index 01825df..4fa5de3 100644 --- a/dist.psm1 +++ b/dist.psm1 @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'Local' Description = 'The script installs or updates Local on Windows.' Guid = 'c68d19be-5946-4955-8a04-35f6944d7abb' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/81991b3ae3db9d9ad5cecc31fe33fd33c2ff5ce7/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865/icon.png' Tags = @('local','nuget-package','update','wordpress') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } From 0c96cb9a21a53d650c8f177c902e38ca6c020267 Mon Sep 17 00:00:00 2001 From: Fabrice Sanga <69244030+sangafabrice@users.noreply.github.com> Date: Wed, 28 Sep 2022 11:58:27 +0200 Subject: [PATCH 47/49] add common script to updater --- Update.ps1 | 52 ++++++++++++++---------------------- dist | 8 ++++++ dist.psm1 | 77 ------------------------------------------------------ 3 files changed, 28 insertions(+), 109 deletions(-) create mode 100644 dist delete mode 100644 dist.psm1 diff --git a/Update.ps1 b/Update.ps1 index f6e1897..4e64c46 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -11,39 +11,27 @@ Param ( ) & { - $NameLocation = "$InstallLocation\Local.exe" - $VerbosePreferenceBool = $VerbosePreference -ine 'SilentlyContinue' - Write-Verbose 'Retrieve install or update information...' - $UpdateInfo = - @{ - Uri = 'https://cdn.localwp.com/stable/latest/windows' - Method = 'HEAD' - MaximumRedirection = 0 - SkipHttpErrorCheck = $True - ErrorAction = 'SilentlyContinue' - Verbose = $False - } | ForEach-Object { (Invoke-WebRequest @_).Headers.Location } | - Select-Object @{ - Name = 'Version' - Expression = { [version] (([uri] $_).Segments?[-2] -split '\+')?[0] } - },@{ - Name = 'Link' - Expression = { $_ } - } | Select-NonEmptyObject - $InstallerVersion = $UpdateInfo.Version - $InstallerDescription = 'Create local WordPress sites with ease.' - If (!$UpdateInfo) { $InstallerVersion = Get-SavedInstallerVersion $SaveTo $InstallerDescription } Try { - New-RegCliUpdate $NameLocation $SaveTo $InstallerVersion $InstallerDescription | - Import-Module -Verbose:$False -Force - $UpdateInfo | Start-InstallerDownload -Verbose:$VerbosePreferenceBool - Remove-InstallerOutdated -Verbose:$VerbosePreferenceBool - Expand-NsisInstaller (Get-InstallerPath) $NameLocation 32 -Verbose:$VerbosePreferenceBool - Set-NsisShortcut $NameLocation - Set-BatchRedirect 'local' $NameLocation - If (!(Test-InstallOutdated)) { Write-Verbose "Local $(Get-InstallerVersion) installation complete." } - } + $UpdateModule = + Import-CommonScript chrome-installer | + Import-Module -PassThru -Force -Verbose:$False + @{ + UpdateInfo = $( + Write-Verbose 'Retrieve install or update information...' + Try { Get-DownloadInfo -From Local } + Catch { } + ) + NameLocation = "$InstallLocation\Local.exe" + SaveTo = $SaveTo + SoftwareName = 'Local' + InstallerDescription = 'Create local WordPress sites with ease.' + InstallerType = 'NSIS' + NsisType = 32 + Verbose = $VerbosePreference -ine 'SilentlyContinue' + } | ForEach-Object { Invoke-CommonScript @_ } + } Catch { } + Finally { $UpdateModule | Remove-Module -Verbose:$False } } <# @@ -79,7 +67,7 @@ Param ( PS > Get-ChildItem | Select-Object Name Name ---- - 6.4.2.exe + local_6.4.3.exe UpdateLocal.ps1 Install Local to 'C:\ProgramData\Local' and save its setup installer to the current directory. diff --git a/dist b/dist new file mode 100644 index 0000000..a5b458f --- /dev/null +++ b/dist @@ -0,0 +1,8 @@ +$DevDependencies = @{ + ProgramName = 'Local' + Description = 'The script installs or updates Local on Windows.' + Guid = 'c68d19be-5946-4955-8a04-35f6944d7abb' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865/icon.png' + Tags = @('local','nuget-package','update','wordpress') + RemoteRepo = (git ls-remote --get-url) -replace '\.git$' +} \ No newline at end of file diff --git a/dist.psm1 b/dist.psm1 deleted file mode 100644 index 4fa5de3..0000000 --- a/dist.psm1 +++ /dev/null @@ -1,77 +0,0 @@ -$DevDependencies = @{ - ProgramName = 'Local' - Description = 'The script installs or updates Local on Windows.' - Guid = 'c68d19be-5946-4955-8a04-35f6944d7abb' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865/icon.png' - Tags = @('local','nuget-package','update','wordpress') - RemoteRepo = (git ls-remote --get-url) -replace '\.git$' -} - -Function New-UpdaterScript { - <# - .SYNOPSIS - Create module manifest - .NOTES - Precondition: - 1. latest.json exists - #> - - $GithubRepo = $DevDependencies.RemoteRepo - $HeaderPath = '.\Header.ps1' - Push-Location $PSScriptRoot - Get-Content .\latest.json -Raw | - ConvertFrom-Json | - ForEach-Object { - @{ - Path = $HeaderPath - Version = $_.version - GUID = $DevDependencies.Guid - Author = 'Fabrice Sanga' - CompanyName = 'sangafabrice' - Copyright = "© $((Get-Date).Year) SangaFabrice. All rights reserved." - Description = $DevDependencies.Description - RequiredModules = @(@{ - ModuleName = 'DownloadInfo' - ModuleVersion = '4.0.0' - },@{ - ModuleName = 'RegCli' - ModuleVersion = '4.1.0' - }) - ExternalModuleDependencies = @('DownloadInfo','RegCli') - Tags = $DevDependencies.Tags - LicenseUri = "$GithubRepo/blob/main/LICENSE.md" - ProjectUri = "$GithubRepo/tree/$(git branch --show-current)" - IconUri = $DevDependencies.IconUri - ReleaseNotes = $_.releaseNotes - } - } | ForEach-Object { New-ScriptFileInfo @_ -Force } - ((Get-Content $HeaderPath).Where({$_ -like "`<`# "}, 'Until') + - (Get-Content .\Update.ps1)) -join "`n" | Out-String - Remove-Item $HeaderPath - Pop-Location -} - -Function Publish-UpdaterScript { - <# - .SYNOPSIS - Publish script to PSGallery - .NOTES - Precondition: - 1. The NUGET_API_KEY environment variable is set. - #> - - @{ - Path = "$PSScriptRoot\Update$($DevDependencies.ProgramName).ps1" | - ForEach-Object { - New-UpdaterScript | Out-File $_ - Return $_ - } - NuGetApiKey = $Env:NUGET_API_KEY - } | ForEach-Object { - Try { - Publish-Script @_ - Write-Host "$((Get-Item $_.Path).Name) published" - } Catch { } - Remove-Item $_.Path -Exclude Update.ps1 - } -} \ No newline at end of file From 995542bc7beec6b5d2849a9c819298c5b2437f29 Mon Sep 17 00:00:00 2001 From: Fabrice Sanga <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 30 Sep 2022 16:12:22 +0200 Subject: [PATCH 48/49] initialize potplayer updater script --- Update.ps1 | 48 +++++++++++++++++++++++++++--------------------- dist | 8 ++++---- icon.png | Bin 2940 -> 11485 bytes latest.json | 2 +- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/Update.ps1 b/Update.ps1 index 4e64c46..8994c1a 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -3,7 +3,7 @@ Param ( [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallLocation $_ $PSScriptRoot })] [string] - $InstallLocation = "${Env:ProgramData}\Local", + $InstallLocation = "${Env:ProgramData}\PotPlayer", [ValidateNotNullOrEmpty()] [ValidateScript({ Test-InstallerLocation $_ })] [string] @@ -11,6 +11,8 @@ Param ( ) & { + $Is64BitOS = [Environment]::Is64BitOperatingSystem + $NameLocation = "$InstallLocation\PotPlayer$(If($Is64BitOS){ '64' }).exe" Try { $UpdateModule = Import-CommonScript chrome-installer | @@ -18,15 +20,19 @@ Param ( @{ UpdateInfo = $( Write-Verbose 'Retrieve install or update information...' - Try { Get-DownloadInfo -From Local } + Try { + Get-DownloadInfo -PropertyList @{ + OSArch = $Is64BitOS ? 'x64':'x86' + } -From PotPlayer + } Catch { } ) - NameLocation = "$InstallLocation\Local.exe" + NameLocation = $NameLocation SaveTo = $SaveTo - SoftwareName = 'Local' - InstallerDescription = 'Create local WordPress sites with ease.' - InstallerType = 'NSIS' - NsisType = 32 + SoftwareName = 'PotPlayer' + InstallerDescription = 'PotPlayer Setup File' + ForceReinstall = $True + CompareInstalls = $True Verbose = $VerbosePreference -ine 'SilentlyContinue' } | ForEach-Object { Invoke-CommonScript @_ } } @@ -36,39 +42,39 @@ Param ( <# .SYNOPSIS - Updates Local software. + Updates PotPlayer software. .DESCRIPTION - The script installs or updates Local on Windows. + The script installs or updates PotPlayer on Windows. .NOTES Required: at least Powershell Core 7. .PARAMETER InstallLocation Path to the installation directory. It is restricted to file system paths. It does not necessary exists. - It defaults to "%ProgramData%\Local". + It defaults to "%ProgramData%\PotPlayer". .PARAMETER SaveTo Path to the directory of the downloaded installer. It is an existing file system path. It defaults to the script directory. .EXAMPLE - Get-ChildItem 'C:\ProgramData\Local' -ErrorAction SilentlyContinue + Get-ChildItem 'C:\ProgramData\PotPlayer' -ErrorAction SilentlyContinue - PS > .\UpdateLocal.ps1 -InstallLocation 'C:\ProgramData\Local' -SaveTo . + PS > .\UpdatePotPlayer.ps1 -InstallLocation 'C:\ProgramData\PotPlayer' -SaveTo . - PS > Get-ChildItem 'C:\ProgramData\Local' | Select-Object Name -First 5 + PS > Get-ChildItem 'C:\ProgramData\PotPlayer' | Select-Object Name -First 5 Name ---- - locales - resources - swiftshader - chrome_100_percent.pak - chrome_200_percent.pak + $0 + $PLUGINSDIR + AviSynth + Extension + History PS > Get-ChildItem | Select-Object Name Name ---- - local_6.4.3.exe - UpdateLocal.ps1 + potplayer_2022.258.261.85.exe + UpdatePotPlayer.ps1 - Install Local to 'C:\ProgramData\Local' and save its setup installer to the current directory. + Install PotPlayer to 'C:\ProgramData\PotPlayer' and save its setup installer to the current directory. #> \ No newline at end of file diff --git a/dist b/dist index a5b458f..168c53d 100644 --- a/dist +++ b/dist @@ -1,8 +1,8 @@ $DevDependencies = @{ - ProgramName = 'Local' - Description = 'The script installs or updates Local on Windows.' - Guid = 'c68d19be-5946-4955-8a04-35f6944d7abb' + ProgramName = 'PotPlayer' + Description = 'The script installs or updates PotPlayer media player on Windows.' + Guid = '0dff32be-6c4b-4ede-91c2-6908bbc34822' IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865/icon.png' - Tags = @('local','nuget-package','update','wordpress') + Tags = @('potplayer','nsis','update','media-player') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } \ No newline at end of file diff --git a/icon.png b/icon.png index d9eed82cff0ffa38838dca317a44e8580d38ef7a..5dbd37374f436dcf7f1245635032f6a654905c33 100644 GIT binary patch literal 11485 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 af9Qz(Zx9pEk8qq0pr!UewMN-G;(q~GH$h+k literal 2940 zcmb7GXIE2;7Ca{jhn7eLR1!d>fT%%`sy=%HNbfellAKT!r7Czq5QBn( z6}_T(6-j6c7pc+_2pv>Y)d#%~?VbAPOv*wnQ!$F(^Q2_t|oGsnP1pvU+ z6$IqatKk3g_>on3;ADSfzf>x9{(SZS8t;nul$KZd-CtrGa!>Q3u77_}GF-Q+lhyHl zetGd--`C!mk?LQq=c`hGP7e*u|CUIl9a95B@sem|scfXN_IJmx#mSEY)zhN6=82w$ z@h*u}GAWu}6pKa{#@i+ZGfVSd$C{T{#G|$EPp|%ozv$xN3cw-Be5Z!&DbgFffq;o@ zR$8Y9019kd8>=JXokLk&?wwRTjMm{qdwEy`DL_|l?T5_3&qY#ck^VoMI-0)Ii6@Nz zSY$AlAJB8+JVVdBXhY?Gl;^!3l;=01jKW+<4lmwy61-b{$FBb7uq>W&(&LjlOCw~O zcxL%^cD>$D)lLiM$f2R}BBsIPewufshpU0+O~Isxh5q&W2Zq|sD-OHV{wneRKvmLP zIk1;{Hz1riJ;~O`9BkA%_Exx@f2jBRdHXGK(yJy;4;AygeZ{opZ_jbpKH3iz{H{@Y zvRzr2^MgxJc@KpP=ZS*;Ha{eZkq0`k5}X&eo426nKo&4aXow;nAL zUQ(;7E+~c1vP97NS-aiIT*e2ErEsfy_Ducjk==21jYH@E$-d5b4sMpZxBT%4(mK;S zq14l;T1A0}dMV_$MoF*FDh16E<%WVYGRqq?7o+@e(X+cV%liUzx?v3ahel%N!K1|3 z{zbV4A5vnkF3jc7Sp`5KtpOhyJrBJw0`Ds`e&Ze+^(L#~DJy5b+GgSInRZ_Xsmat>OOBvg+K(p_cwtpPxiTv)##LWI!;Mwa*l@=4o zmikCs2muHi6K|zSAA|0=GdF7ZnK>C5KP(b(hBv=olR#s~dp5Nk08J^u6_lWBz81yl;EExwUcA!YMU;O*4oO^@*Nc(9 zolZg?3H2-ZX$wXFF;N~Sr!#*5uk_Y`?L7D_)F5Og-CsC z1QVUOX5nwBoE}wW;NuoXv7Tj6c<=A7F&5xM;`9k1wvSu;#t>FV&2-_s= zY;ql=jgd1tnR&2{SMI?avaBw?(Lb&`&JRVhz%Jd~d1=3y^`=?0ank;ea>WUfUnyEW8D5OhS_N>8yrm!k8EXv!Yo?>1g_dUfTTD&0>=pQ3#Ct{9mQ}^S z&}#fS##}(zSGbPyF79Y1Ea@EoIh>vHlA&PwYR7XcC^L!@3!0Y5c9~Zfv!W=5AbJI`7*n&)szL-E5Tx~|KNk6O`wy% z$0oW$3CCH%?)^94ExC&qgvbJO5F_5<*fuh*6|EjSNi@eY#S0@92R*9Fok!k%A@`j6 zr4}B$eroR>trJ^9!>P9|HiqrJ+;N56X^5}weO1a4H&F9UwUV|dYI`LfVjkO70Y@UO zIis-TlmYsr|JOTPjS|;p-#f!ZHz=a$+S6NJpkLmLTvk${OsUmMlPi=Gq88nD z-BmcF-W%T7$lZ_^zvdApnN}bJ=`}6nU%cX2zSp&gY z=9GqXj-M2eQ~u$O@;SaMBw10<>SRuX3|b3VN(S@s(ilwajN*=WiQNFMiHC9m#nt zMqyQl$wApvwi_BHj3eSp84Uk32W1^224b=C8|+x)*BaIBd(`LvP}!1}}~Os?ro0;|Q>)skzuy~st$PiSy< z#3Y+T%L6sVBCJney(g^1-iXc+UQlbOtPh6OX+_|5aWO=hxj<~FuJ?v_(9*y!Vj2!_ zy5noViyjES{$aXkI!;`u7*o4w zK+v+Sku}S=SQ&Wtiw#SOQGG2{Rkw2*Ti!T*ktz|iR}wHozgPP;0NCz#uz79GjQlUn CVV$o4 diff --git a/latest.json b/latest.json index 7b93672..5484e9f 100644 --- a/latest.json +++ b/latest.json @@ -1,6 +1,6 @@ { "version": "0.0.1", "releaseNotes": [ - "Initialize Local updater script." + "Initialize PotPlayer updater script." ] } \ No newline at end of file From 997f210fa3c8582433ba0367c2f3bf35cfead728 Mon Sep 17 00:00:00 2001 From: Fabrice Sanga <69244030+sangafabrice@users.noreply.github.com> Date: Fri, 30 Sep 2022 16:15:17 +0200 Subject: [PATCH 49/49] update powershell icon logo --- dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist b/dist index 168c53d..486c093 100644 --- a/dist +++ b/dist @@ -2,7 +2,7 @@ $DevDependencies = @{ ProgramName = 'PotPlayer' Description = 'The script installs or updates PotPlayer media player on Windows.' Guid = '0dff32be-6c4b-4ede-91c2-6908bbc34822' - IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/521b1ef6e7b3ff20e8f78e79b17bc0cd9b9b7865/icon.png' + IconUri = 'https://rawcdn.githack.com/sangafabrice/reg-cli/995542bc7beec6b5d2849a9c819298c5b2437f29/icon.png' Tags = @('potplayer','nsis','update','media-player') RemoteRepo = (git ls-remote --get-url) -replace '\.git$' } \ No newline at end of file