SlideShare a Scribd company logo
1 of 63
Download to read offline
Chocolatey
The package manager for Windows
Modern Software Management w/
Chocolatey
Rob Reynolds
Founder
Chocolatey Software
@ferventcoder
Rob Reynolds
• Creator and Founder of Chocolatey
• Enjoys long walks on the beach and designing
solutions that make hard things easy
• Co-wrote infrastructure framework 

known as the Chuck Norris Framework
• Over 10 years experience in 

infrastructure automation
• Obsesses over user experience
• Microsoft MVP for whatever they are
calling .NET area now
Agenda
• Chocolatey
• Why
• What
• Features
• Demo
• Questions
Why Chocolatey?
Software management may
account for 50-90% of your
automation
Windows Software Ecosystem
• Over 20 installer formats and
thousands of installers in the
wild
• Zips and other archive formats
• Software installers are messy
• Deploy internal/3rd party
software using same approach?
• It’s like the Wild West
Why?
• You already deploy
software
• Likely already use
deployment scripts
• Delivery mechanisms
• Internal Software
Why?
Why?
But Seriously, Why Chocolatey?
• Reporting
• Features
• Offline
• Secure
• Flexibility
• Beyond Programs and Features
• Beyond just running installers
• Integrates with everything
But Seriously, Why Chocolatey?
• Focused solution - does 1 thing very well for over 6+ years
• Uses PowerShell - not learning new or proprietary
technologies
• One approach for all software management - 3rd party
and internal
• Reinventing Chocolatey could cost over $1 million
• Hundreds of other companies are using it, there must be a
reason
What is Chocolatey?
What is Chocolatey?
• Software Management
• PowerShell
• Fancy zip files = “packages”
• Packages are independent software deployment
artifacts
• Takes your deployment scripts to the next level
Chocolatey - Sane Software Management
• Easily manage the software lifecycle
• Native installers, zips, binaries
• PowerShell module simplifies work
• Packages are independent building
blocks
• Integrates with configuration
management and RMM tools
• Business friendly features
Chocolatey - The Approach
• Single, unifying interface - control
the chaos
• Decentralized - multiple places to
get packages, including internal
• PowerShell
• Flexible
• Secure
• Reliable
6+ years - proven technology
Organizational / Internal
Use
Community Package Repository
• https://chocolatey.org/packages
• Community Feed / Community
Maintained
• Moderated as of October 2014
• Everything goes through VirusTotal
• Organizations Should Avoid
• Not Fully Reliable - public repo
means subject to distribution
rights (download CDN cache
feature helps)
• Trust and Control
Sweet Features
FOSS vs Chocolatey for Business (C4B)
• Chocolatey open source (FOSS) == package
management
• Works well in organizational use
• C4B == complete software management
• Smoother experience
• Builds on top of FOSS
• Better system integration, endpoint
management, etc
• Better visual interfaces (GUIs)
• Features geared specifically towards
organizational use
Smart Installs / Smarter Upgrades
• Track software installation in Programs &
Features to map packages to system
installs
• Track environment variable changes
• Leave out guesswork by reporting on
software installation location
• Upgrades - Use Xml Document Transform
(XDT) for .NET configuration file changes
• Exclusive to Chocolatey - Use new tools /
commands without closing / re-opening
your shell for environment changes to
take effect
Graphical Interface - ChocolateyGUI
• Configure Chocolatey
• Manage software
installations
Automatic Uninstallation
• Exclusive to Chocolatey -
Automatically uninstall
over 90% of installations
without uninstall script
• AutoUninstaller reduces
time by not developing
and managing uninstall
scripts
Integrates with Everything
• https://chocolatey.org/docs/features-infrastructure-
automation
• Puppet
• Chef (built-in), cookbook
• PowerShell DSC
• Ansible
• Saltstack
• Octopus Deploy
• Boxstarter
• SCCM
• RMM, or really anything that can run scripts
Reporting / Auditing
Inventory - Comprehensive Software Audit
• Exclusive to Chocolatey - Visibility
beyond just the software ‘installed’ in
Programs & Features
• Track versions of zip archives & own
internal software that is not visible in
system installation.
• Get a complete view of your systems.
Chocolatey reports applications in
systems not directly under its
management.
• Package Audit (C4B) adds who and
when
Logging - Detailed Reporting
• Log file captures very
detailed information -
environment and state
• Reduces rollback /
recreation necessity
Compliance – Audit Out of Date Software
• choco outdated
• Comprehensive reporting on available upgrades
• See what will upgrade on next maintenance window
Package Repository
Hosting Your Own Package Server
• https://chocolatey.org/docs/how-to-host-feed
• Non-Windows Hosting
• Artifactory
• Sonatype Nexus
• NuGet Gallery proper
• ProGet / MyGet
• NuGet.Server / Chocolatey.Server
• Puppet - chocolatey/chocolatey_server module
• Visual Studio Team Services
Creating Software
Deployment “Packages”
Chocolatey Packages
• Terminology: "Package" is nupkg file, "Software" is binaries or installers
• Zip files + Versioning, Dependencies & PowerShell
• Metadata - Software Information / Package Information
• PowerShell - https://chocolatey.org/docs/helpers-reference
• 30+ Built-in functions - complex tasks become 1 liners
• Handle additional missing installer logic (like add to PATH)
• Add options missing from installer arguments
• Files - drop in binaries, native installers
Creating Packages
• https://chocolatey.org/docs/create-
packages
• choco new
• Generates package files with most of
the work done
• Create your own packaging templates!
Package Builder (C4B) - “Generate software
deployment packages in seconds”
• Package Builder automatically
creates high quality packaging from
an installer/zip in 5-10 seconds
• Determines everything necessary
for silently installing software
• Supports passing urls (and
checksums) - downloads files first
• Allows customization
• Supports exe, msi, 7z, zip, msu, and
msp files
Package Internalizer (C4B) - “Convert existing
packages to 100% offline and reliable”
• Take advantage of existing packages
without dependency on the internet
• Downloads existing package and all
remote resources
• Recompiles package to use those
internal resources
• Option to download and point to
other locations
• Ability to host packages on private
internal repositories
• Visual Interface coming
How does it work?
Package Synchronizer (C4B)
- stay in sync w/system
Package Synchronizer (Licensed) - Auto
Sync
• Chocolatey maintains state based
on packages. System state can be
manipulated outside of Chocolatey
• Any Chocolatey command will
trigger synchronization in licensed
editions of Chocolatey
• Package Synchronizer syncs with
manual software removal
• Syncs w/software that
automatically upgrades, such as
Chrome
Package Synchronizer (C4B) - All Packages in
Programs and Features
• Any Chocolatey package
installed will result in an
entry in Programs and
Features, even if it doesn't
have a native install
• Supporting legacy inventory
reporting systems is now a
snap
• Do not need to build MSIs /
Installers for internal use just
to support legacy reporting
Package Synchronizer (C4B) - Choco Sync
Command
• Brings all software in
Programs and Features
under Chocolatey
management
• Generates packaging and
baselines to Chocolatey
install
• Provides packaging code to
take back to source control
How does it work?
Self-Service (C4B) - “Non-
administrative desktop users
can install/upgrade software!”
Self-Service Installer / Background Mode (C4B)
Package Reducer (Licensed)
• Reduce Chocolatey space
usage down automatically
• Reduction on install/
upgrade
• choco optimize to clean
existing
Other Features
• https://chocolatey.org/docs/release-notes
• Internal sources (like ProGet)
• choco upgrade all - Windows update for
your 3rd party and internal software
• Shimming - like symlinks but better
• Pass install arguments directly through to
installer (append or override package args)
• Package Parameters to adjust logic in
packages
• Handles locking on upgrades in package
folders
• Great reference docs - https://
chocolatey.org/docs/commands-
reference & https://chocolatey.org/
docs/helpers-reference
• Excellent open source support
community
• 30+ built-in PowerShell Functions
• Extend functionality with your own
PowerShell Modules
• Custom Package Templates
• Can manage anything on Windows
Other Features (C4B)
• https://chocolatey.org/docs/
release-notes-licensed
• Auto-uninstaller more effective -
uninstaller detection / Package
Synchronizer
• Install/upgrade keeping secrets
out of logs
• Ubiquitous Install Directory
Option
• More built-in PowerShell functions
• Uninstall non-Chocolatey managed
software
• Direct Installer - install directly from
exe/msi
• Package Throttle
• Runtime malware protection
• CDN Cache
• Professional Packaging Services
• Amazing expert support team -
https://chocolatey.org/support
Chocolatey Roadmap
• https://chocolatey.org/docs/
roadmap
• Central Management UI (C4B)
• Choco Deploy CLI (C4B)
• WSA / Windows Nano Support
• PowerShell
PackageManagement Official
Provider
• Package Enhancements
• Pack Validation
• Virtual packages
• GPG Signing
• Package Grid (C4B)
• Deferred Installer (C4B)
• Possible support on other
platforms
Demo
This is you
This is you on Chocolatey
Any Questions?
https://
chocolatey.org/
contact
• ferventcoder -
twitter, gmail, etc
Questions?
Modern Software Management on Windows w/Chocolatey - That Conference 2017

More Related Content

What's hot

The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
Stephanie Leary
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 

What's hot (20)

Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...
 
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
 
Running a Successful Open Source Project
Running a Successful Open Source ProjectRunning a Successful Open Source Project
Running a Successful Open Source Project
 
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support EngineerSupport Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
 
Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
 
BrightGen Spring 16 Release Webinar
BrightGen Spring 16 Release WebinarBrightGen Spring 16 Release Webinar
BrightGen Spring 16 Release Webinar
 
Tools for Managing your LabVIEW Source Code
Tools for Managing your LabVIEW Source CodeTools for Managing your LabVIEW Source Code
Tools for Managing your LabVIEW Source Code
 
Using Features
Using FeaturesUsing Features
Using Features
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
Browser tools that make web development easier
Browser tools that make web development easierBrowser tools that make web development easier
Browser tools that make web development easier
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
 
Writing better code: How the Netbeans IDE Helps you Write, Test and Debug Java
Writing better code: How the Netbeans IDE Helps you Write, Test and Debug JavaWriting better code: How the Netbeans IDE Helps you Write, Test and Debug Java
Writing better code: How the Netbeans IDE Helps you Write, Test and Debug Java
 
VI package manager
VI package managerVI package manager
VI package manager
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
PLAT-5 Jive, Dropbox & Other Integrations
PLAT-5 Jive, Dropbox & Other IntegrationsPLAT-5 Jive, Dropbox & Other Integrations
PLAT-5 Jive, Dropbox & Other Integrations
 

Similar to Modern Software Management on Windows w/Chocolatey - That Conference 2017

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
Puppet
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
Jeremy Thake
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
Idaf_1er
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
C5 Insight
 

Similar to Modern Software Management on Windows w/Chocolatey - That Conference 2017 (20)

PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
 
Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
 
Easy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet BoltEasy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet Bolt
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
 
Deployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and ConfigurationsDeployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and Configurations
 
Phase2 Large Drupal Multisites (gta case study)
Phase2   Large Drupal Multisites (gta case study)Phase2   Large Drupal Multisites (gta case study)
Phase2 Large Drupal Multisites (gta case study)
 

More from Rob Reynolds

DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
Rob Reynolds
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
Rob Reynolds
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Rob Reynolds
 

More from Rob Reynolds (10)

Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15
 
Puppet On Windows - Puppet Camp DC 2015
Puppet On Windows - Puppet Camp DC 2015Puppet On Windows - Puppet Camp DC 2015
Puppet On Windows - Puppet Camp DC 2015
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeChocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
 
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
 
Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on Windows
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
 
UppercuT - Getting Started
UppercuT - Getting StartedUppercuT - Getting Started
UppercuT - Getting Started
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Modern Software Management on Windows w/Chocolatey - That Conference 2017

  • 1. Chocolatey The package manager for Windows Modern Software Management w/ Chocolatey Rob Reynolds Founder Chocolatey Software @ferventcoder
  • 2.
  • 3. Rob Reynolds • Creator and Founder of Chocolatey • Enjoys long walks on the beach and designing solutions that make hard things easy • Co-wrote infrastructure framework 
 known as the Chuck Norris Framework • Over 10 years experience in 
 infrastructure automation • Obsesses over user experience • Microsoft MVP for whatever they are calling .NET area now
  • 4. Agenda • Chocolatey • Why • What • Features • Demo • Questions
  • 5.
  • 6.
  • 8. Software management may account for 50-90% of your automation
  • 9. Windows Software Ecosystem • Over 20 installer formats and thousands of installers in the wild • Zips and other archive formats • Software installers are messy • Deploy internal/3rd party software using same approach? • It’s like the Wild West
  • 10. Why? • You already deploy software • Likely already use deployment scripts • Delivery mechanisms • Internal Software
  • 11. Why?
  • 12. Why?
  • 13.
  • 14.
  • 15. But Seriously, Why Chocolatey? • Reporting • Features • Offline • Secure • Flexibility • Beyond Programs and Features • Beyond just running installers • Integrates with everything
  • 16. But Seriously, Why Chocolatey? • Focused solution - does 1 thing very well for over 6+ years • Uses PowerShell - not learning new or proprietary technologies • One approach for all software management - 3rd party and internal • Reinventing Chocolatey could cost over $1 million • Hundreds of other companies are using it, there must be a reason
  • 18. What is Chocolatey? • Software Management • PowerShell • Fancy zip files = “packages” • Packages are independent software deployment artifacts • Takes your deployment scripts to the next level
  • 19. Chocolatey - Sane Software Management • Easily manage the software lifecycle • Native installers, zips, binaries • PowerShell module simplifies work • Packages are independent building blocks • Integrates with configuration management and RMM tools • Business friendly features
  • 20. Chocolatey - The Approach • Single, unifying interface - control the chaos • Decentralized - multiple places to get packages, including internal • PowerShell • Flexible • Secure • Reliable 6+ years - proven technology
  • 22.
  • 23. Community Package Repository • https://chocolatey.org/packages • Community Feed / Community Maintained • Moderated as of October 2014 • Everything goes through VirusTotal • Organizations Should Avoid • Not Fully Reliable - public repo means subject to distribution rights (download CDN cache feature helps) • Trust and Control
  • 25. FOSS vs Chocolatey for Business (C4B) • Chocolatey open source (FOSS) == package management • Works well in organizational use • C4B == complete software management • Smoother experience • Builds on top of FOSS • Better system integration, endpoint management, etc • Better visual interfaces (GUIs) • Features geared specifically towards organizational use
  • 26. Smart Installs / Smarter Upgrades • Track software installation in Programs & Features to map packages to system installs • Track environment variable changes • Leave out guesswork by reporting on software installation location • Upgrades - Use Xml Document Transform (XDT) for .NET configuration file changes • Exclusive to Chocolatey - Use new tools / commands without closing / re-opening your shell for environment changes to take effect
  • 27. Graphical Interface - ChocolateyGUI • Configure Chocolatey • Manage software installations
  • 28. Automatic Uninstallation • Exclusive to Chocolatey - Automatically uninstall over 90% of installations without uninstall script • AutoUninstaller reduces time by not developing and managing uninstall scripts
  • 29. Integrates with Everything • https://chocolatey.org/docs/features-infrastructure- automation • Puppet • Chef (built-in), cookbook • PowerShell DSC • Ansible • Saltstack • Octopus Deploy • Boxstarter • SCCM • RMM, or really anything that can run scripts
  • 31. Inventory - Comprehensive Software Audit • Exclusive to Chocolatey - Visibility beyond just the software ‘installed’ in Programs & Features • Track versions of zip archives & own internal software that is not visible in system installation. • Get a complete view of your systems. Chocolatey reports applications in systems not directly under its management. • Package Audit (C4B) adds who and when
  • 32. Logging - Detailed Reporting • Log file captures very detailed information - environment and state • Reduces rollback / recreation necessity
  • 33. Compliance – Audit Out of Date Software • choco outdated • Comprehensive reporting on available upgrades • See what will upgrade on next maintenance window
  • 35. Hosting Your Own Package Server • https://chocolatey.org/docs/how-to-host-feed • Non-Windows Hosting • Artifactory • Sonatype Nexus • NuGet Gallery proper • ProGet / MyGet • NuGet.Server / Chocolatey.Server • Puppet - chocolatey/chocolatey_server module • Visual Studio Team Services
  • 37. Chocolatey Packages • Terminology: "Package" is nupkg file, "Software" is binaries or installers • Zip files + Versioning, Dependencies & PowerShell • Metadata - Software Information / Package Information • PowerShell - https://chocolatey.org/docs/helpers-reference • 30+ Built-in functions - complex tasks become 1 liners • Handle additional missing installer logic (like add to PATH) • Add options missing from installer arguments • Files - drop in binaries, native installers
  • 38. Creating Packages • https://chocolatey.org/docs/create- packages • choco new • Generates package files with most of the work done • Create your own packaging templates!
  • 39.
  • 40. Package Builder (C4B) - “Generate software deployment packages in seconds” • Package Builder automatically creates high quality packaging from an installer/zip in 5-10 seconds • Determines everything necessary for silently installing software • Supports passing urls (and checksums) - downloads files first • Allows customization • Supports exe, msi, 7z, zip, msu, and msp files
  • 41. Package Internalizer (C4B) - “Convert existing packages to 100% offline and reliable” • Take advantage of existing packages without dependency on the internet • Downloads existing package and all remote resources • Recompiles package to use those internal resources • Option to download and point to other locations • Ability to host packages on private internal repositories • Visual Interface coming
  • 42. How does it work?
  • 43.
  • 44. Package Synchronizer (C4B) - stay in sync w/system
  • 45. Package Synchronizer (Licensed) - Auto Sync • Chocolatey maintains state based on packages. System state can be manipulated outside of Chocolatey • Any Chocolatey command will trigger synchronization in licensed editions of Chocolatey • Package Synchronizer syncs with manual software removal • Syncs w/software that automatically upgrades, such as Chrome
  • 46. Package Synchronizer (C4B) - All Packages in Programs and Features • Any Chocolatey package installed will result in an entry in Programs and Features, even if it doesn't have a native install • Supporting legacy inventory reporting systems is now a snap • Do not need to build MSIs / Installers for internal use just to support legacy reporting
  • 47. Package Synchronizer (C4B) - Choco Sync Command • Brings all software in Programs and Features under Chocolatey management • Generates packaging and baselines to Chocolatey install • Provides packaging code to take back to source control
  • 48. How does it work?
  • 49.
  • 50. Self-Service (C4B) - “Non- administrative desktop users can install/upgrade software!”
  • 51. Self-Service Installer / Background Mode (C4B)
  • 52. Package Reducer (Licensed) • Reduce Chocolatey space usage down automatically • Reduction on install/ upgrade • choco optimize to clean existing
  • 53. Other Features • https://chocolatey.org/docs/release-notes • Internal sources (like ProGet) • choco upgrade all - Windows update for your 3rd party and internal software • Shimming - like symlinks but better • Pass install arguments directly through to installer (append or override package args) • Package Parameters to adjust logic in packages • Handles locking on upgrades in package folders • Great reference docs - https:// chocolatey.org/docs/commands- reference & https://chocolatey.org/ docs/helpers-reference • Excellent open source support community • 30+ built-in PowerShell Functions • Extend functionality with your own PowerShell Modules • Custom Package Templates • Can manage anything on Windows
  • 54. Other Features (C4B) • https://chocolatey.org/docs/ release-notes-licensed • Auto-uninstaller more effective - uninstaller detection / Package Synchronizer • Install/upgrade keeping secrets out of logs • Ubiquitous Install Directory Option • More built-in PowerShell functions • Uninstall non-Chocolatey managed software • Direct Installer - install directly from exe/msi • Package Throttle • Runtime malware protection • CDN Cache • Professional Packaging Services • Amazing expert support team - https://chocolatey.org/support
  • 55. Chocolatey Roadmap • https://chocolatey.org/docs/ roadmap • Central Management UI (C4B) • Choco Deploy CLI (C4B) • WSA / Windows Nano Support • PowerShell PackageManagement Official Provider • Package Enhancements • Pack Validation • Virtual packages • GPG Signing • Package Grid (C4B) • Deferred Installer (C4B) • Possible support on other platforms
  • 56. Demo
  • 58.
  • 59. This is you on Chocolatey
  • 60.