Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

142,010

Downloads of v 2018.05.09:

562

Last Update:

09 May 2018

Package Maintainer(s):

Software Author(s):

  • Bill Curran

Tags:

bcurran3 choco unofficial package packages.config backup script cloud

(unofficial) Choco Package List Backup to Local and Cloud (Script)

This is not the latest version of (unofficial) Choco Package List Backup to Local and Cloud (Script) available.

  • 1
  • 2
  • 3

2018.05.09 | Updated: 09 May 2018

Downloads:

142,010

Downloads of v 2018.05.09:

562

Maintainer(s):

Software Author(s):

  • Bill Curran

(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.05.09

This is not the latest version of (unofficial) Choco Package List Backup to Local and Cloud (Script) available.

Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Bill Curran. The inclusion of Bill Curran trademark(s), if any, upon this webpage is solely to identify Bill Curran goods or services and not for commercial purposes.

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install (unofficial) Choco Package List Backup to Local and Cloud (Script), run the following command from the command line or from PowerShell:

>

To upgrade (unofficial) Choco Package List Backup to Local and Cloud (Script), run the following command from the command line or from PowerShell:

>

To uninstall (unofficial) Choco Package List Backup to Local and Cloud (Script), run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade choco-package-list-backup -y --source="'INTERNAL REPO URL'" --version="'2018.05.09'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade choco-package-list-backup -y --source="'INTERNAL REPO URL'" --version="'2018.05.09'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install choco-package-list-backup
  win_chocolatey:
    name: choco-package-list-backup
    version: '2018.05.09'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'choco-package-list-backup' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2018.05.09'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller choco-package-list-backup
{
    Name     = "choco-package-list-backup"
    Version  = "2018.05.09"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'choco-package-list-backup':
  ensure   => '2018.05.09',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved as a trusted package on 09 May 2018.

Description

Screenshot of (unofficial) Choco Package List Backup to Local and Cloud (Script)

choco-package-list-backup.ps1 solves your Chocolatey migration and package re-installation problems!

choco-package-list-backup.ps1 is a script I wrote that will backup the list of your currently installed Chocolatey packages and save them to a PACKAGES.CONFIG file. You can then use that PACKAGES.CONFIG file to re-install all your packages on another computer or even the same computer later if it crashes. "How can I re-install on the same computer if it crashed and I lost the PACKAGES.CONFIG file?" Thanks for asking! choco-package-list-backup.ps1 backs up your package list locally and to multiple cloud services!

FEATURES:

choco-package-list-backup.ps1 supports saving PACKAGES.CONFIG to all of the following:

  • your local Documents folder
  • your Active Directory assigned HOMESHARE
  • Box
  • Dropbox Personal and Business
  • Google Drive and Drive File Stream
  • Microsoft OneDrive
  • NETGEAR ReadyCLOUD
  • Nextcloud
  • Resilio Sync
  • Seafile
  • TonidoSync
  • A custom location of your choice
  • more coming - Let me know what you want/need!

choco-package-list-backup.ps1 runs on install to make sure you have backup(s) right now!

choco-package-list-backup.ps1 supports copying InstChoco with the PACKAGES.CONFIG path for the fastest way ever to reinstall Chocolatey and your Chocolatey packages! (Or migrate!)

choco-package-list-backup.ps1 supports backing up persistentpackages.config if you are using choco-persistent-packages

choco-package-list-backup.ps1 integrates with Chocolatey Shortcuts if installed.

choco-package-list-backup.ps1 saves in computer (name) specific folders so you can backup your Chocolatey package list from multiple computers to the same cloud destination(s). No confusion over what computer gets what packages!

choco-package-list-backup.ps1 is configurable. You can:

  • configure which locations you want or don't want to save to (default=all the locations found except the custom location)
  • configure to save package version information or not (default=False)
  • configure to append a date to the saved packages.config (default=False)
  • configure what subfolder to save to (default=ChocolateyPackageListBackup)
  • easily add a custom location by editing CustomPath and UseCustomPath in the .xml configuration file

choco-package-list-backup.ps1 and choco-package-list-backup.xml are saved to Chocolatey's bin folder (\ProgramData\chocolatey\bin), so choco-package-list-backup.ps1 is in your path.

INSTRUCTIONS:

  • Edit \ProgramData\chocolatey\bin\choco-package-list-backup.xml to customize your backup(s). It's easy, there are comments.
  • From PowerShell, type CHOCO-PACKAGE-LIST-BACKUP.PS1 to backup your Chocolatey packages list.
  • From Command Prompt, type POWERSHELL CHOCO-PACKAGE-LIST-BACKUP.PS1 to backup your Chocolatey packages list.
  • From Windows, click Choco Package List Backup in the Start menu

If you find choco-package-list-backup.ps1 useful, and I suspect you will, please consider donating: https://www.paypal.me/bcurran3donations

PACKAGE NOTES


tools\.SkipAutoUninstaller
 
tools\choco-package-list-backup-manual.bat
@echo off
powershell -NoProfile -ExecutionPolicy Bypass -Command %ChocolateyInstall%\bin\choco-package-list-backup.ps1


tools\choco-package-list-backup.ps1
# choco-package-list-backup.ps1 (to local and cloud) by Bill Curran
# I couldn't have done this without the list parsing from Ammaar Limbada found at https://gist.github.com/alimbada/449ddf65b4ef9752eff3
# LICENSE: GNU GPL v3 - https://www.gnu.org/licenses/gpl.html
# ROADMAP:
# Add other cloud services support by request
# Open to suggestions - open a GitHub issue please if you have a suggestion/request.
# CAN NOT save/get installed package parameters as they are encrypted :(

$CPLBver        = "2018.05.09" # Version of this script
$Date           = Get-Date -UFormat %Y-%m-%d

# Import preferences - see choco-package-list-backup.xml
[xml]$ConfigFile = Get-Content "$env:ChocolateyInstall\bin\choco-package-list-backup.xml"

$PackagesListFile = $ConfigFile.Settings.Preferences.PackagesListFile
$SaveFolderName = $ConfigFile.Settings.Preferences.SaveFolderName
$SaveVersions = $ConfigFile.Settings.Preferences.SaveVersions
$AppendDate = $ConfigFile.Settings.Preferences.AppendDate
$CustomPath = $ConfigFile.Settings.Preferences.CustomPath

$UseCustomPath = $ConfigFile.Settings.Preferences.UseCustomPath 
$UseDocuments = $ConfigFile.Settings.Preferences.UseDocuments
$UseHomeShare = $ConfigFile.Settings.Preferences.UseHomeShare 
$UseBox = $ConfigFile.Settings.Preferences.UseBox
$UseDropbox = $ConfigFile.Settings.Preferences.UseDropbox
$UseGoogleDrive = $ConfigFile.Settings.Preferences.UseGoogleDrive
$UseNextcloud = $ConfigFile.Settings.Preferences.UseNextcloud
$UseOneDrive = $ConfigFile.Settings.Preferences.UseOneDrive
$UseReadyCLOUD = $ConfigFile.Settings.Preferences.UseReadyCLOUD
$UseResilioSync = $ConfigFile.Settings.Preferences.UseResilioSync
$UseSeafile = $ConfigFile.Settings.Preferences.UseSeafile
$UseTonidoSync = $ConfigFile.Settings.Preferences.UseTonidoSync

# Check the path to save packages.config and create if it doesn't exist
Function Check-SaveLocation{
    $CheckPath = Test-Path $SavePath
  If ($CheckPath -match "False")
     {
      New-Item $SavePath -Type Directory -force | out-null
     }   
    }

# Copy persistentpackages.config if it exists to the same location as packages.config
Function Check-PPConfig{
    $CheckPPSource = Test-Path $Env:ChocolateyInstall\config\persistentpackages.config
	If ($CheckPPSource -match "True"){
	   Copy-Item $Env:ChocolateyInstall\config\persistentpackages.config $SavePath -force | out-null
	   Write-Host "$SavePath\persistentpackages.config SAVED!" -ForegroundColor green 
    }
  }
	
# Copy InstChoco.exe if it exists to the same location as packages.config for super duper easy re-installation
$InstChoco = "$Env:ChocolateyInstall\lib\instchoco\tools\InstChoco.exe" # location of InstChoco.exe if it exists
Function Check-InstChoco{
    $CheckICSource = Test-Path $InstChoco
	If ($CheckICSource -match "True"){
	   $CheckICDest = Test-Path $SavePath\InstChoco.exe
	   If ($CheckICDest -match "False")
	      {
	       Copy-Item $InstChoco $SavePath -force | out-null
		   Write-Host "$SavePath\InstChoco.exe SAVED!" -ForegroundColor green 
	      } else {
		    $ICSource = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($InstChoco).FileVersion
		    $ICDest = [System.Diagnostics.FileVersionInfo]::GetVersionInfo("$SavePath\InstChoco.exe").FileVersion
		    if ($ICSource -ne $ICDest)
		       {
		        Copy-Item $InstChoco $SavePath -force | out-null
		        Write-Host "$SavePath\InstChoco.exe SAVED!" -ForegroundColor green
			   }
	   }
    }
  }

# Write out the saved list of packages to packages.config
Function Write-PackageConfig{ 
    Check-SaveLocation
	Check-PPConfig
	Check-InstChoco
	if ($AppendDate -eq "True"){
	    $PackagesListFile = $PackagesListFile+"_$Date"
	}
    Write-Output "<?xml version=`"1.0`" encoding=`"utf-8`"?>" >"$SavePath\$PackagesListFile"
    Write-Output "<packages>" >>"$SavePath\$PackagesListFile"
	if ($SaveVersions -match "True")
	   {
        choco list -lo -r -y | % { "   <package id=`"$($_.SubString(0, $_.IndexOf("|")))`" version=`"$($_.SubString($_.IndexOf("|") + 1))`" />" }>>"$SavePath\$PackagesListFile"
	   } else {
         choco list -lo -r -y | % { "   <package id=`"$($_.SubString(0, $_.IndexOf("|")))`" />" }>>"$SavePath\$PackagesListFile"
		 }
    Write-Output "</packages>" >>"$SavePath\$PackagesListFile"
	Write-Host "$SavePath\$PackagesListFile SAVED!" -ForegroundColor green 
    }

Write-Host choco-package-list-backup.ps1 v$CPLBver - backup Chocolatey package list locally and to the cloud -ForegroundColor white
Write-Host "Copyleft 2018 Bill Curran ([email protected]) - free for personal and commercial use" -ForegroundColor white

# Backup Chocolatey package names to packages.config file in custom defined path you set in $CustomPath above in line 16
if ($UseCustomPath -match "True" -and (Test-Path $CustomPath))
   {
    $SavePath   = "$CustomPath\$SaveFolderName"
    Write-PackageConfig
   }
	
# Backup Chocolatey package names on local computer to packages.config file in the Documents folder
if ($UseDocuments -match "True" -and (Test-Path $Env:USERPROFILE\Documents))
   {
    $SavePath   = "$Env:USERPROFILE\Documents\$SaveFolderName"
    Write-PackageConfig
   }
   
# Backup Chocolatey package names on local computer to packages.config file in Box (Sync) directory if it exists
if ($UseBox -match "True" -and (Test-Path "$Env:USERPROFILE\Box Sync"))
   {
    $SavePath = "$Env:USERPROFILE\Box Sync\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }    
   
# Check for Dropbox paths (Thanks ebbek!)
if (Test-Path $Env:AppData\Dropbox\info.json)
{
    $DropboxPersonal = ((get-content $Env:AppData\Dropbox\info.json) -join '`n' | ConvertFrom-json).personal.path
    $DropboxBusiness = ((get-content $Env:AppData\Dropbox\info.json) -join '`n' | ConvertFrom-json).business.path
}
elseif (Test-Path $Env:LocalAppData\Dropbox\info.json)
{
    $DropboxPersonal = ((get-content $Env:LocalAppData\Dropbox\info.json) -join '`n' | ConvertFrom-json).personal.path
    $DropboxBusiness = ((get-content $Env:LocalAppData\Dropbox\info.json) -join '`n' | ConvertFrom-json).business.path
}

# Backup Chocolatey package names on local computer to packages.config file in Personal Dropbox directory if it exists
if ($UseDropbox -match "True" -and ($DropboxPersonal) -and (Test-Path $DropboxPersonal))
   {
    $SavePath = "$DropboxPersonal\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }
   
# Backup Chocolatey package names on local computer to packages.config file in Business Dropbox directory if it exists
if ($UseDropbox -match "True" -and ($DropboxBusiness) -and (Test-Path $DropboxBusiness))
   {
    $SavePath = "$DropboxBusiness\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }
   
# Backup Chocolatey package names on local computer to packages.config file in Google Drive/Backup and Sync directory if it exists
if ($UseGoogleDrive -match "True" -and (Test-Path "$Env:USERPROFILE\Google Drive"))   
   {
    $SavePath = "$Env:USERPROFILE\Google Drive\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }
   
# Backup Chocolatey package names on local computer to packages.config file in Google Drive FS "My Drive" directory if it exists  (Thanks ebbek!)
$GFSInstalled=(test-path -path HKCU:Software\Google\DriveFS\Share)
if ($GFSInstalled)
   {
    $GoogleFSmountpoint = (Get-ItemProperty -path Registry::HKEY_CURRENT_USER\Software\Google\DriveFS\Share).MountPoint
    if ($UseGoogleDrive -match "True" -and ($GoogleFSmountpoint) -and (Test-Path "${GoogleFSmountpoint}:\My Drive"))
       {
        $SavePath = "${GoogleFSmountpoint}:\My Drive\$SaveFolderName\$Env:ComputerName"
        Write-PackageConfig
       }
	}
   
# Backup Chocolatey package names on local computer to packages.config file on your HOMESHARE directory if it exists
#if ($UseHomeShare -match "True" -and (Test-Path "$Env:HOMESHARE" -eq "True"))
$ExistHomeShare = (Test-Path "Env:HOMESHARE")
if ($UseHomeShare -match "True" -and $ExistHomeShare -match "True")   
   {
    $SavePath = "$Env:HOMESHARE\$SaveFolderName\$Env:ComputerName"   
    Write-PackageConfig
   }      

# Backup Chocolatey package names on local computer to packages.config file in Nextcloud directory if it exists
if ($UseNextcloud -match "True" -and (Test-Path $Env:USERPROFILE\Nextcloud))
   {
    $SavePath = "$Env:USERPROFILE\Nextcloud\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   } 
   
# Backup Chocolatey package names on local computer to packages.config file in OneDrive directory if it exists
if ($UseOneDrive -match "True" -and (Test-Path $Env:USERPROFILE\OneDrive))
   {
    $SavePath = "$Env:OneDrive\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }      
   
# Backup Chocolatey package names on local computer to packages.config file in Netgear ReadyCLOUD directory if it exists
if ($UseReadyCLOUD -match "True" -and (Test-Path $Env:USERPROFILE\ReadyCLOUD))
   {
    $SavePath = "$Env:USERPROFILE\ReadyCLOUD\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }

# Backup Chocolatey package names on local computer to packages.config file in Resilio Sync directory if it exists
if ($UseResilioSync -match "True" -and (Test-Path "$Env:USERPROFILE\Resilio Sync"))
   {
    $SavePath = "$Env:USERPROFILE\Resilio Sync\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }   

# Backup Chocolatey package names on local computer to packages.config file in Seafile directory if it exists
if ($UseSeafile -match "True" -and (Test-Path $Env:USERPROFILE\Documents\Seafile))
   {
    $SavePath = "$Env:USERPROFILE\Seafile\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }
   
# Backup Chocolatey package names on local computer to packages.config file in TonidoSync directory if it exists
if ($UseTonidoSync -match "True" -and (Test-Path $Env:USERPROFILE\Documents\TonidoSync))
   {
    $SavePath = "$Env:USERPROFILE\Documents\TonidoSync\$SaveFolderName\$Env:ComputerName"
    Write-PackageConfig
   }

Write-Host TO RE-INSTALL YOUR CHOCOLATEY PACKAGES: -ForegroundColor magenta 
Write-Host "1> Go to the location of your saved PACKAGES.CONFIG file and type CINST PACKAGES.CONFIG -Y" -ForegroundColor magenta 
If (Test-Path "$env:ChocolateyInstall\lib\instchoco"){
     Write-Host "2> Run InstChoco -y" -ForegroundColor magenta 
   } else {
     Write-Host "2> Get InstChoco and let it do it for you! - https://chocolatey.org/packages/InstChoco" -ForegroundColor magenta 
   }
Write-Host "Found choco-package-list-backup.ps1 useful? Consider buying me a beer via PayPal at https://www.paypal.me/bcurran3donations" -ForegroundColor white
Start-Sleep -s 10


tools\choco-package-list-backup.xml
<?xml version="1.0"?>
<Settings>
  <Preferences>
    <PackagesListFile>packages.config</PackagesListFile>
    <SaveFolderName>ChocolateyPackageListBackup</SaveFolderName>
    <SaveVersions>false</SaveVersions>
    <AppendDate>false</AppendDate>
    <CustomPath>c:\install</CustomPath>
    <UseCustomPath>false</UseCustomPath>
    <UseDocuments>true</UseDocuments>
    <UseHomeShare>true</UseHomeShare>
    <UseBox>true</UseBox>
    <UseDropbox>true</UseDropbox>
    <UseGoogleDrive>true</UseGoogleDrive>
    <UseNextcloud>true</UseNextcloud>
    <UseOneDrive>true</UseOneDrive>
    <UseReadyCLOUD>true</UseReadyCLOUD>
    <UseResilioSync>true</UseResilioSync>
    <UseSeafile>true</UseSeafile>
    <UseTonidoSync>true</UseTonidoSync>  
  </Preferences>
</Settings>

<!--
choco-package-list-backup.xml preferences notes:

AppendDate - Change to True if you want to keep snapshot in time copies - semi-breaks InstChoco compatibility
SaveFolderName - Change the subfolder name if you don't like my default
SaveVersions - Specify if you want to save specific version info or not
CustomPath - Edit to save to a special location of your choice
UseCustomPath - Change to True if you are using CustomPath
-->
tools\ChocolateyInstall.ps1
$packageName      = 'choco-package-list-backup' 
$toolsDir         = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$Date             = Get-Date -UFormat %Y-%m-%d
$script           = 'choco-package-list-backup.ps1'
$xml              = 'choco-package-list-backup.xml'
$shortcutName     = 'Chocolatey Package List Backup.lnk'
$oldshortcutName  = 'Choco Package List Backup.lnk'
$altshortcutName  = 'Package List Backup.lnk'
$CPLBPreExisting  = "$env:ChocolateyInstall\bin\$script"

if (Test-Path $env:ChocolateyInstall\bin\$script){
      Remove-Item "$CPLBPreExisting.bak" -Force -ErrorAction SilentlyContinue
      Rename-Item -Path "$CPLBPreExisting" -NewName "$script.bak" -Force -ErrorAction SilentlyContinue
    } 
	
Move-Item "$toolsDir\$script" $env:ChocolateyInstall\bin -Force -ErrorAction SilentlyContinue	

if (Test-Path $env:ChocolateyInstall\bin\$xml){
      Write-Host "Existing $xml file found, your preferences are safe." -foreground magenta
      Remove-Item $toolsDir\$xml -Force -ErrorAction SilentlyContinue
    } else {
	  Move-Item "$toolsDir\$xml" $env:ChocolateyInstall\bin -Force -ErrorAction SilentlyContinue
      $WhoAmI=whoami
      $Acl = Get-Acl "$env:ChocolateyInstall\bin\$xml"
      $Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($WhoAmI,"FullControl","Allow")
      $Acl.SetAccessRule($Ar)
      Set-Acl "$env:ChocolateyInstall\bin\$xml" $Acl	  
	}
	
If (Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Chocolatey"){
      Remove-Item "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\$oldshortcutName" -Force -ErrorAction SilentlyContinue
      Install-ChocolateyShortcut -shortcutFilePath "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Chocolatey\$altshortcutName" -targetPath "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe" -Arguments "-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command $CPLBPreExisting" -IconLocation $env:ChocolateyInstall\choco.exe -WorkingDirectory $env:ChocolateyInstall\bin\
    } else {
      Install-ChocolateyShortcut -shortcutFilePath "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\$shortcutName" -targetPath "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe" -Arguments "-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command $CPLBPreExisting" -IconLocation $env:ChocolateyInstall\choco.exe -WorkingDirectory $env:ChocolateyInstall\bin\
	}
	
Write-Host "Running choco-package-list-backup.ps1 to create first-time backup(s)..." -foreground "magenta" 
&powershell -NoProfile -ExecutionPolicy Bypass -Command "$env:ChocolateyInstall\bin\choco-package-list-backup.ps1"
Write-Host "Edit $env:ChocolateyInstall\bin\$xml to customize your backup(s)." -foreground "magenta" 
Write-Host "TO BACKUP YOUR CHOCOLATEY PACKAGE LIST AGAIN:" -foreground "magenta" 
Write-Host "Command Prompt: POWERSHELL CHOCO-PACKAGE-LIST-BACKUP.PS1" -foreground "magenta" 
Write-Host "PowerShell    : CHOCO-PACKAGE-LIST-BACKUP.PS1" -foreground "magenta" 
If (Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Chocolatey"){
     Write-Host "Windows       : Click Package List Backup in the Start menu under Chocolatey" -foreground "magenta" 
   } else {
     Write-Host "Windows       : Click Chocolatey Package List Backup in the Start menu" -foreground "magenta" 
   }	
tools\ChocolateyUninstall.ps1
$packageName     = 'choco-package-list-backup' 
$script          = 'choco-package-list-backup.ps1'
$xml             = 'choco-package-list-backup.xml'
$oldshortcutName = 'Choco Package List Backup.lnk'
$shortcutName    = 'Chocolatey Package List Backup.lnk'
$altshortcutName = 'Package List Backup.lnk'

Remove-Item "$env:ChocolateyInstall\bin\$script" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:ChocolateyInstall\bin\$script*.bak" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:ChocolateyInstall\bin\$xml" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\$oldshortcutName" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\$shortcutName" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Chocolatey\$altshortcutName" -Force -ErrorAction SilentlyContinue

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2023.6.2 2601 Tuesday, June 6, 2023 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2023.6.2-pre 68 Saturday, June 3, 2023 Exempted
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2023.05.13-pre 67 Saturday, May 13, 2023 Exempted
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2022.02.06 10954 Sunday, February 6, 2022 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.09.25 5997 Sunday, September 26, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.09.22 1554 Wednesday, September 22, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.05.10 5455 Tuesday, May 11, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.04.08 3241 Friday, April 9, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.03.22 3428 Tuesday, March 23, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.03.15 2350 Monday, March 15, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2021.03.14 233 Sunday, March 14, 2021 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2020.04.06 5938 Monday, April 6, 2020 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.08.27 5839 Tuesday, August 27, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.07.02 3948 Tuesday, July 2, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.06.27 210 Tuesday, July 2, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.31.01 2267 Saturday, February 9, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.31 917 Friday, February 1, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.29 657 Tuesday, January 29, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.24 752 Friday, January 25, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.04 916 Friday, January 4, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2019.01.02 594 Wednesday, January 2, 2019 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2018.08.23 1547 Friday, August 24, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script + Task) 2018.06.21 975 Friday, June 22, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.05.19 821 Saturday, May 19, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.05.17 486 Thursday, May 17, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.05.09 562 Wednesday, May 9, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.05.06 478 Sunday, May 6, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.04.25 562 Thursday, April 26, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.04.24.01 494 Tuesday, April 24, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.04.24 358 Tuesday, April 24, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.04.23 406 Tuesday, April 24, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.02.24 783 Saturday, February 24, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.02.12 486 Tuesday, February 13, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2018.01.29 379 Tuesday, January 30, 2018 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2017.12.17 582 Monday, December 18, 2017 Approved
(unofficial) Choco Package List Backup to Local and Cloud (Script) 2017.08.19 887 Sunday, August 20, 2017 Approved

CHANGELOG:

  • 2018.05.09 - added reading preferences from choco-package-list-backup.xml - no more editing the script after upgrades!
  • 2018.05.06 - added Dropbox Business and Google Drive File Stream support (Thanks ebbek!)
  • 2018.04.25 - removed run as admin requirement
  • 2018.04.25 - now makes a backup of previous choco-packages-list-backup.ps1 (appended date)
  • 2018.04.25 - fixed minor text output error
  • 2018.04.25 - added compatibility with choco-shortcuts-winconfig
  • 2018.04.24.01 - added ability to append the date to packages.config
  • 2018.04.24 - added choco-persistent-packages support.
  • 2018.04.23 - now backups up packages automatically on install
  • 2018.02.24 - added Box and Seafile support as well as an icon to run from the Windows Start menu
  • 2018.02.12 - added Nextcloud support (thanks thomasaiman) and fixed TonidoSync (Thanks thomasaiman!)
  • 2018.01.29 - edited re-installation message, updated donation info :)
  • 2017.12.17 - added editable custom save location (requested)

This package has no dependencies.

Discussion for the (unofficial) Choco Package List Backup to Local and Cloud (Script) Package

Ground Rules:

  • This discussion is only about (unofficial) Choco Package List Backup to Local and Cloud (Script) and the (unofficial) Choco Package List Backup to Local and Cloud (Script) package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or (unofficial) Choco Package List Backup to Local and Cloud (Script), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus