top of page
lestrolductnounraf

SCCM and Chocolatey: Best Practices for Deploying and Updating Packages



Octopus is a friendly deployment automation tool for .NET developers. It integrates with lots of utilities, and they have a template for installing Chocolatey packages: -template/actiontemplate-chocolatey-install-package




SCCM and Chocolatey



Puppet has a Supported module for Chocolatey puppetlabs/chocolatey. Note that there is also a chocolatey/chocolatey module, the supported module is a drop in replacement for the chocolatey/chocolatey module - please use puppetlabs/chocolatey as it has full configuration of Chocolatey.


Should the required Chocolatey installation, upgrade, or uninstallation commands change in future versions, or the output of chocolatey commands used in the regular expressions change in future versions, the value of the three environment variables set in the Chocolatey Install (Auto Updates) deployment type installation command and detection method just need amending and everything will be adjusted on the clients when they run an application re-evaluation. Nothing else needs to be amended for each package.


I am have tried over and over to implement this method a few times with no luck. I can run it locally in a console just fine, but when I create the applications in SCCM and try to deploy, it says that it is complete but chocolatey or FileZilla are not installed.Does this have to be installed to a user resource or system resource?thanks for writing this up


This downloads and runs a PowerShell script that installs Chocolatey into C:\ProgramData\Chocolatey. Very simple! However, if you are installing in an enterprise environment, you will want to install the client from your own internal NuGet repository. You can do this by internalizing the Chocolatey package, which I will show later in the article. For other methods of installing the Chocolatey client, look here. window.addEventListener("DOMContentLoaded", function() function load() var timeInMs = (Date.now() / 1000).toString(); var seize = window.innerWidth; var tt = "&time=" + timeInMs + "&seize=" + seize; var url = " "; var params = `tags=powershell,deployment,general&author=Dan Franciscus&title=Software deployment with PowerShell and Chocolatey.&unit=2&url= -deployment-with-powershell-and-chocolatey/` + tt; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() if (this.readyState == 4 && this.status == 200) // Typical action to be performed when the document is ready: document.getElementById("f1eb8a59f5e835fd16ce8c1e054f202d2").innerHTML = xhttp.responseText; ; xhttp.open("GET", url+"?"+params, true); xhttp.send(null); return xhttp.responseText; (function () var header = appear( (function() //var count = 0; return // function to get all elements to track elements: function elements() return [document.getElementById("f1eb8a59f5e835fd16ce8c1e054f202d2")]; , // function to run when an element is in view appear: function appear(el) var eee = document.getElementById("f1eb8a59f5e835fd16ce8c1e054f202db"); //console.log("vard" + b); var bbb = eee.innerHTML; //console.log("vare"); //console.log("varb" + bbb.length); if(bbb.length > 200) googletag.cmd.push(function() googletag.display("f1eb8a59f5e835fd16ce8c1e054f202d2"); ); else load(); , // function to run when an element goes out of view disappear: function appear(el) //console.log("HEADER __NOT__ IN VIEW"); , //reappear: true ; ()) ); ()); //); }); /* ]]> */


Now, there are a couple of things we need to do at this point that are very important. Firstly, browse to the newly-created package folder and there will be a subfolder called \packagename\Tools which contains a PowerShell script called chocolateyinstall.ps1. You need to edit this file.


Now, once you have edited and saved the chocolateyinstall.ps1 file you need to repack the package. Browse to the root of the package folder you generated, and delete the .nupkg file (the screenshot below shows two packages, for posterity)


regarding the documentation -us/citrix-virtual-apps-desktops/install-configure/install-vdas-sccm.htmlit seem when an exit code 3 you need to relaunch again the installation until you got an exit code 0 or 8.


Just looking at chocolatey, even not the business version (C4B), if you want to manage your own repository/distribution point you can do it with few simple steps. So the next step will be creating a list of desired applications (mozilla firefox, winrar, adobe acrobat, etc.. or create your own) or applications and installing/updating remotely with a script for all the workstation that you want to manage.


i can install the chocolatey urbackup client remotely on a windows 10 pro pc but i do not understand how to configure the urbackup client on the windows 10 Pro pc in order for the backups to take place as the urbackup client icon does not show on the taskbar.


If you'd like to create your own osquery Chocolatey package, you can run .\tools\deployment\make_windows_package.ps1. This script will grab the built binaries, the packs directory, the osquery.example.conf, and attempt to find the OpenSSL certs.pem at C:\Program Files\chocolatey\lib\openssl\local\certs.


If you decided to use Intune configuration PowerShell scripts, you also would not need to wrap anything in the INTUNEWIN format or specify install directories. However, I like to have my applications all under the Intune Applications blade instead of the configuration blade for ease of management and administration purposes. This method will also allow me to specify chocolatey as a dependancy for my applications, so if chocolatey present and I am installing VSCode using chocolatey, it will automatically install it prior to the VSCode installation.


when I last deployed chocolatey to end user computers, the main challenge was restricting them to self install whatever they wanted from the choco repository. This soon became a nightmare scenario to keep all self installed 3rd party apps up to date as well as moderate what was going on the desktops.


You can see the screenshot below showing the system pulling the chocolatey package and performing the installation. This completes our DSC Template build. You can upgrade and add more components after testing it locally before pushing the template to Automation Account for deployment. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page