Windows Application Packaging with Chocolatey

Slides:



Advertisements
Similar presentations
MODULE 3: OS & APP LAYERS. Agenda Preparing and importing a gold image Creating and understanding Install Machines Creating basic Application layers Understanding.
Advertisements

FREE as in BEER!!! Manage Your Packages with NuGet Rob Reynolds.
APP-V 5.0 SP2 (MDOP 2013 R2) Presenter - Fred
Windows Deployment Services WDS for Large Scale Enterprises and Small IT Shops Presented By: Ryan Drown Systems Administrator for Krannert.
Scripting Automated Solutions for Siemens PLM Software
4/17/2017 7:07 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Hands-On Microsoft Windows Server 2003 Chapter 2 Installing Windows Server 2003, Standard Edition.
Microsoft virtual machine converter
Trevor Sullivan Solution Architect Project Leadership Associates.
Becky Bertram SharePoint MVP
A Tour of System Center Configuration Manager Adam Duffy Edina Public Schools.
What do User-Centric deployments mean for OSD NE Ohio System Center User Group February 2012 Jason Condo
MSI-based installation Everything carried over from Office 2010 MAK, KMS and AD-based Activation Click-to-Run installation Built on App-V foundation.
WIN-B331 Get a consistent, personal Windows experience that matches your unique work style Easy for IT to deliver personal, user-defined experiences.
Michael Niehaus Windows Store Apps Traditional Desktop Apps Setup.exe installers Windows Installer (MSI) OneClick (.NET) App-V,
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Win & Web App Installers with WiX
SharePoint 2010 Development Environment A Guide to Setup SharePoint 2010 Development Environment on Windows 7 Machine.
Terry Henry IS System Manager, SharePoint SME Micron Technology Inc.
Microsoft Application Virtualization 5.0: Introduction Mohnish Chaturvedi & Ian Bartlett Premier Field Engineer WCL312.
The Microsoft Baseline Security Analyzer A practical look….
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
1 Using Silent Install Scripts to Deploy Software to MS Windows PCs. Larry Carpenter, P.E. CAx Administrator / FE Analyst Siemens Healthcare Molecular.
Deploy a Microsoft Image RHONDA LAYFIELD SR. DEPLOYMENT ARCHITECT DMVMUG User Conference 2014 – Reston, VA.
Deploy.NET Applications with Ease Brian Noyes IDesign, Inc.
Create a Microsoft Image RHONDA LAYFIELD SR. DEPLOYMENT ARCHITECT DMVMUG User Conference 2014 – Reston, VA.
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
PowerShell Package Management for the Enterprise Kirk Aleksandar
(c) 2011 Microsoft. All rights reserved.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
Michael Niehaus Using the Windows Store for Business: New Capabilities for Managing Apps in the Enterprise WIN335.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Application Deployment Tools
Create a Microsoft Image Rhonda Layfield Sr. Deployment Architect
Win & Web App Installers with WiX Benjamin Day Level: Intermediate.
Microsoft Virtual Academy Dean Yamada | Senior Premier Field Engineer, Microsoft Stephen Hall | Cloud Solutions Specialist, District Computers.
Deploying Windows: Moving from VBScript to PowerShell Michael Niehaus
Managing Java with App-VManaging Java with App-V Fred Now Micro Joe AMOSA.
Configuration Manager Deploying Surface Pro 3 with Configuration Manager Niall Brady ECM MVP
Toni Petrina Microsoft MVP for C# Ekobit d.o.o. Controlling and extending development environment.
DevOps with ASP.NET Core and Entity Framework Core
From SharePoint to Office 365 Development
Microsoft Ignite /5/ :32 AM
Stress Free Deployments with Octopus Deploy
Deployment Internals: Mastering Windows Deployment Services
Automate Custom Solutions Deployment on Office 365 and Azure
Modernize ConfigMgr OSD with Community Tools
FMSCUG 1708.
Introduction to .NET Framework Ch2 – Deitel’s Book
Microsoft Build /13/2018 2:24 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Desktop App Converter (Project Centennial)
DDPS in Action: Session 11 Hydration
Getting Started with the Data ONTAP PowerShell Toolkit
Microsoft Build /8/2018 8:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Dynamics 365 Customer Engagement Deep Dive: Creating a Basic Plug-in
Microsoft Virtual Academy
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Hosted Web Apps with Windows App Studio
ASP.NET 5 on .NET Core Damian Edwards Principal Program Manager.
Windows 7 Deployment en Masse
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Delivering great hardware solutions for Windows
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Microsoft 365 Business Technical Fundamentals Series
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Microsoft 365 Business Technical Fundamentals Series
Presentation transcript:

Windows Application Packaging with Chocolatey Keith Garner @KeithGa1 Solutions Architect at 1E Michael Niehaus @MNiehaus Marketing Director at Microsoft

Keith Garner Michael Niehaus @KeithGa1 @MNiehaus MDT Dev/PM, Microsoft MVP MDT Dev/PM, Windows Guru Way too long… Been here, done that… Ran Mercer Is. ½ Marathon Ran Mercer Is. ½ Marathon

About Keith Working in/around Microsoft for over 20 years Speaker at MMS, TechEd, and more… Microsoft IT MCS/Support/WHQL/Marketing/… Windows PG, Surface PG Oh and … SCCM / MDT Now working for 1E – Solution Architect

Overview Application Packaging – State of the union What is Chocolatey? OneGet? NuGet? How do I create Application packages in Chocolatey? How can this help me with MDT/SCCM? What is the Future of Application Packaging

Background/History Laziness is good… When channeled constructively Problem: It’s hard to install drivers Idea: Use the PnP ID to help pick out the correct drivers Gotcha: Not all drivers ready as *.INF, and don’t play well with others Problem: Installing patches/updates is hard Idea: Write a script to connect to WU and install everything Gotcha: Not all patches from WU should be applied Problem: Installing Applications is a pain….

State of the Union Application Packaging

In the Beginning… We installed ran programs from Floppy disks… We got Hard Disks, which required copying… We developed libraries, and gave us DLL Hell Runme.bat Install.exe Setup.exe

Microsoft Installer MSI… Industry standard for Desktop App Installation Created Circa Windows 2000 / Office 2000 Mini-database format for Files, Registry, … Supports Automation, Patching, Rollbacks, Removal… Custom Actions Supported by many tools… WIX, Orca, Install Shield… Challenges: Supports Custom Actions

…Microsoft Installer MSI MSIExec.exe /i <File>.msi MSIExec.exe /quiet /norestart /i <File>.msi MSIExec.exe /qb- /norestart /l*vx %temp%\<file>.log /i <File>.msi Msiexec.exe /qb- /l*vx %LogPath%\MDT.log /norestart /i https://download.microsoft.com/download/3/0/1/3012B93D-C445-44A9-8BFB- F28EB937B060/MicrosoftDeploymentToolkit2013_x64.msi

Challenges with Application Packaging Applications come in all sizes: Tiny to SCCM OS dependencies ( .NET 3.5 vs .NET 4.5 ) prerequisites ( VCRT, .NET, Java, etc..) Hardware requirements (x86 vs x64) Lack of automation EULA!?!? AD Ware, unwanted packages, Malware! <shudder> Install via EXE, MSI … <shudder> BAT, PS1…

What makes an App Packageable? RULE: Provide the ability to install unattended /q /Silent /Quiet /s RULE: Do not display Blocking UI Are you really sure you want to install this package silently? RULE: Do not exit until done, really done! Some Driver Packages, Office C2R. RULE: No rebooting Exit code 3010 ERROR_SUCCESS_REBOOT_REQUIRED Model Citizen: MSI Packages!

Getting more information… Goto to http://ITNinja.com Open up a sample package like “Adobe Acrobat Reader” If time, try out orca.exe

Application Virtualization Solution – App-V Application Virtualization Use Packaging tool to snapshot a Desktop App Stream the application and Keep in a sandbox Run Multiple versions of the same problem Keep the dependencies in check Now with better support in SCCM ? App-V Client built-into Windows 10 RS1 ?

Universal Windows Apps (Metro … Modern … Store apps) Solution – UWA Universal Windows Apps (Metro … Modern … Store apps) Runs on a wide range of platforms. Windows Store for Business - makes UWA better. Download APPX files! License Mgmt!

New Solution – AppV + UWA Combine: Application Virtualization (App-V) Universal Windows Apps (UWA) Result: Project Centennial. Package Desktop Apps into Appx Available on Windows Store! AND *Extend* UWA API’s back to Desktop apps.

There is a lot of legacy, but a lot of new stuff. Recommendations: State of the union There is a lot of legacy, but a lot of new stuff. Recommendations: Use MSI packages, and ask for them by name. Orca (Part of the Windows SDK) Others: Get info from http://ITNinja.com

Meanwhile… Over on the developer side…

Visual Studio has NuGet NUGET is a package manager for the Microsoft “Development Platform” ( Visual Studio!) Web Site: http://NuGet.org Packages can be on NuGet.org (cloud), or your own (OnPrem) The ecosystem is open source… Microsoft has embraced the community with hooks in Visual Studio!

http://Nuget.org Go to http://NuGet.org Navigate to a package. Open *.nuget package with 7-zip and show the manifest.

PowerShell team embraces NuGet PowerShellGet (Install-Module library) Package Manager (Package-Manager-Manager) AKA “OneGet” Requires WMF 5.0

http://PowerShellGallery.com Go to http://PowerShellGallery.com Note that the web site is similar to NuGet.org Look at Posh-SSH Demo: Install-Module ( -name Posh-ssh ) Get-PackageProvider –listAvailable Find-PackageProvider Get-PackageSource Find-Package –providername PowerShellGet Install-Package

Extend NuGet for regular apps? Copy the Server code from NuGet Copy the Website from NuGet Tweak the NuGet installer to run PowerShell from the Packages Create some PowerShell helper functions And… http://Chocolatey.org is born <Yum>

Download Chocolatey Toolkit (See website) The process Download Chocolatey Toolkit (See website) Run: choco.exe install <Package> Download <Package.nuget> Extract contents Call ChocolateyInstall.ps1 ChocolateyInstall.ps1 calls Chocolatey functions to: Download Binaries Install programs Cleanup/Other Maintenance Tasks.

http://Chocolatey.org Go to http://Chocolatey.org Note that the web site is similar to NuGet.org Look at a package like MDT Demo: Install Chocolatey Choco.exe install MDT

Chocolatey with OneGet Choco.exe works for Windows 7 and above. For Windows Management Framework 5.0+ (Win10) Use OneGet. Install packages using OneGet with Chocolatey Provider! Available with Windows Management Framework 5.0 (Win 10) Commands: Find-Package and Install-Package Don’t forget to set ExecutionPolicy – RemoteSigned (minimum) Use –ProviderName ‘Chocolatey’ to force right provider Use –ForceBootStrap –Force –Verbose Demo…

PowerShell and Chocolatey! Demo: Install-Package –Name MDT Install-Package –providerName Chocolatey –Force –ForceBootstrap –Name MDT

Creating a Chocolatey Package PowerShell is what drives Chocolatey Incredible flexibility But… learning curve to get started Steps: Create account on http://Chocolatey.org Create a PowerShell script to Install and UnInstall Define a *.XML NuGet style descriptor. Test, Package and Upload to http://Chocolatey.org

Moderation (a good thing) Problem: *ANYONE* can post packages to Chocolatey. Solution: Moderation of packages Moderation process: Automated Tests – Static and Dynamic Manual review by designated “Moderators”

Working with other package owners Versioning Packaging Gotchas Working with other package owners Versioning 10.0.26624.0 > 10.0.10586.0000 Use --Version switch in Choco.exe to force version Naming Conventions Language Support OS Dependencies

Script – Install-Chocolatey.ps1 for MDT Litetouch Chocolatey with MDT Script – Install-Chocolatey.ps1 for MDT Litetouch Installs Chocolatey files in \MININT https://keithga.wordpress.com/2014/11/25/new-tool- chocolatey-wrapper-for-mdt/

The future Chocolatey without PowerShell scripting? Windows Update for Business App-V on Windows Store ( Code Name Centennial ) Chocolatey? How will it evolve

Call to action - Q & A Automation is your friend Chocolatey is a great tool and/or resource for automation! Feeling inspired? Contribute! Make your own Chocolatey Packages! Thanks!

And Then …