SlideShare a Scribd company logo
Dell World User Forum
UFIL511: Mac Application Packaging
Jeffrey J Hoover, Senior Trainer
Michael Klocek, Learning Development
Dell World
User Forum
Dell World User Forum
Agenda
• Installer Types
• Oracle Java
• Custom Packages
• Google Chrome
• Microsoft Office
Dell World User Forum
Installer Types
Dell World User Forum
APPs, PKGs, & DMGs
• APP – Application Bundle
– Actually a directory
• PKG – Installer Package
– Actually a Directory
• DMG – Disk Image
– Single file, like an ISO
Dell World User Forum
Basic Installer: Oracle
Java
Dell World User Forum
Managed Install – Oracle Java
• Find Software Record [Inventory | Software]
• Attach appropriate payload
• Create Managed Install [Distribution | Managed Install]
– Target Smart Label
Dell World User Forum
Oracle Java – Find in Inventory
• It doesn’t show in inventory!
– Although the Install Manager does.
• It’s an Internet Plug-in, not an APP
• Installs into:
– /Library/Internet Plugins/JavaAppletPlugin.plugin
– /Library/PreferencePanes/JavaControlPanel.prefPane
• Both of these are more complicated than that!
– The Plugin has two different plist files for Enabled vs. Disabled
– The PreferencePane is an alias points to an embedded part of the Plugin.
Dell World User Forum
Oracle Java – Find in Inventory
• So we use Custom Inventory for a particular version
• Find the right value in plist
PlistValueEquals(/Library/PreferencePanes/JavaAppletPlugin.plugin/Con
tents/Enabled.plist, CFBundleVersion, TEXT, 1.7.67.01) OR
PlistValueEquals(/Library/Internet Plug-
Ins/JavaAppletPlugin.plugin/Contents/Disabled.plist, CFBundleVersion, TEXT,
1.7.67.01)
Dell World User Forum
Determining Java Version
• Create script to determine version
– Load onto Macs
• Custom Inventory to pull version
if [ -f "/Library/Internet Plug-
Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" ] ; then VERSION=$(
defaults read "/Library/Internet Plug-
Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" CFBundleVersion )
elseif [ -f "/Library/Internet Plug-
Ins/JavaAppletPlugin.plugin/Contents/Disabled.plist" ]
VERSION="Not installed."
fi
echo "$VERSION"
ShellCommandTextReturn(/bin/bash /usr/local/bin/java_ver.sh)
Dell World User Forum
Oracle Java – Attach Payload
• At least this part looks right…
• Mount DMG,
• Run Installer against the PKG
Dell World User Forum
Oracle Java – Create Managed Install
Dell World User Forum
Exercise: Java 7 u67
Dell World User Forum
Custom Packages
Dell World User Forum
Custom Packages
• Sometimes what you are installing is none of the above!
– Groups of different scripts
– Script execution order/requirements
– Application Bundle plus extra files or post-flight script
• Packaging Tools Examples
– Packages
– AutoPKG/AutoPkgr
– Payload Free Package Creator
Dell World User Forum
Packages
• Free PKG builder
• http://s.sudre.free.fr/Software/Packages/about.html
Dell World User Forum
Packages
• Easily handles several options
– App Bundles converted to PKG
– App Bundles and files
– Running Multiple PKGs
– Pre-Flight & Post-Flight Scripts
• Creates PKG files that can do more. Use them with Managed Installs, Post Installation Tasks, etc.
Dell World User Forum
AutoPkg / AutoPkgr
• AutoPkg
– Command line utility with recipes from GitHub
– https://github.com/autopkg/autopkg/releases/latest
– https://github.com/autopkg/autopkg/wiki/Getting-Started
– Gathers PKG files,
• AutoPkgr
– https://github.com/lindegroup/autopkgr
– GUI front end to AutoPkg
– Covers recipe subscriptions
Dell World User Forum
Exercise:
Custom Package –
Google Chrome
Dell World User Forum
Customizing Installer:
Microsoft Office 2011
Dell World User Forum
Microsoft Office
• Office 2011 is a MPKG
• Two choices for configuration:
– Modify the Distribution file within the PKG
› Allows a change to the default GUI
– Add a Choices.xml to toggle the components in the PKG
› Based on the defaults in the PKG, virtually clicks them
• Ref: http://www.officeformachelp.com/office/administration/deployment/command-line/
Dell World User Forum
Microsoft Office
• Any way you install it, it has
a bunch of components.
The challenge is to
understand how to modify
the availability of the
components.
• Three key attributes
– Selected (initial state)
– Enabled (available for
selection/deselection)
– Visible
Dell World User Forum
Microsoft Office
‘Distribution’ is a file that exists
within the installer package. This
file can be modified to change the
default behaviors of the installer.
Dell World User Forum
Office Installer
Dell World User Forum
Microsoft Office
Distribution file
• Selected
start_selected=“true”
• Enabled
start_enabled=“true”
• Visible
start_visible=“true”
Dell World User Forum
Microsoft Office - ShowChoicesXML
<dict>
<key>attributeSetting</key>
<true/>
<key>choiceAttribute</key>
<string>visible</string>
<key>choiceIdentifier</key>
<string>outlook</string>
</dict>
<dict>
<key>attributeSetting</key>
<integer>1</integer>
<key>choiceAttribute</key>
<string>selected</string>
<key>choiceIdentifier</key>
<string>outlook</string>
</dict>
Dell World User Forum
Microsoft Office - ChoicesXML
<array>
<string>outlook</string>
<string>messenger</string>
<string>proofingtools</string>
<string>english</string>
<string>dock</string>
</array>
Dell World User Forum
MS Office - Installer
• Man installer
• Get existing choices:
installer –pkg Office Installer.pkg –showChoiceChangesXML >
msofficeChoices1.xml
• Apply ChoicesChanges
installer –pkg Office Installer.pkg –applyChoiceChangesXML
msofficeChoices1.xml –target /
Dell World User Forum
Exercise: Microsoft Office
Dell World User Forum
Thank you.
Dell World User Forum
KACE Support Portal Migrating to Dell Software Support Portal
• Starting in November, all KACE
Support Portal material will be migrated
to the Dell Software Support Portal
• All service requests will be submitted
online or by phone
• Same great content
– Knowledge base articles
– Video tutorials
– Product documentation
– JumpStart training
• Check out the Support Portal Getting
Started videos

More Related Content

PDF
JavaScript - Chapter 13 - Browser Object Model(BOM)
PPT
Introduction to visual basic programming
PPT
Vb basics
PPTX
Microsoft Office PowerPoint 2007 - Lesson 1
PDF
Salto de pagina y sección en word
PPTX
Ms powerpoint 2013
PDF
jQuery for beginners
PDF
2. HTML forms
JavaScript - Chapter 13 - Browser Object Model(BOM)
Introduction to visual basic programming
Vb basics
Microsoft Office PowerPoint 2007 - Lesson 1
Salto de pagina y sección en word
Ms powerpoint 2013
jQuery for beginners
2. HTML forms

What's hot (20)

PDF
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
PPSX
Microsoft Power Point
PPT
PHP - Introduction to PHP Cookies and Sessions
PPTX
PPTX
Lecture 1 introduction to vb.net
PPT
Nine Easy Steps To Creating A PPt Presentation
PPT
Introduction to Javascript
PPTX
G Sheets introduction
PDF
Javascript essentials
PDF
Conceptos Básicos de Microsoft Office Word 2010
PPT
Microsoft word
PPTX
Componentes de eclipse
PPTX
Web browsers
PPTX
Asp.NET Validation controls
PPT
Master pages
PPT
Visual basic 6.0
PPTX
Client and server side scripting
PPT
Controles Mas Habituales Leidy Cita
PPTX
Introduction to CSS
DOCX
Common dialog control
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
Microsoft Power Point
PHP - Introduction to PHP Cookies and Sessions
Lecture 1 introduction to vb.net
Nine Easy Steps To Creating A PPt Presentation
Introduction to Javascript
G Sheets introduction
Javascript essentials
Conceptos Básicos de Microsoft Office Word 2010
Microsoft word
Componentes de eclipse
Web browsers
Asp.NET Validation controls
Master pages
Visual basic 6.0
Client and server side scripting
Controles Mas Habituales Leidy Cita
Introduction to CSS
Common dialog control
Ad

Viewers also liked (11)

PPT
ZCM Software Packaging and ZENworks Application Virtualization
PDF
Standing Operating Procedures in Nutshell
PPTX
Application Virtualization
PPTX
standard operating procedure
PPT
Varicocele
PPTX
Scrotal swellings 4- varicocele
DOCX
Standard Operating Procedure (SOP) for Information Technology (IT) Operations
PPT
Standard operating procedure
 
DOCX
Resume_vikash_new_updated_5
PDF
How to Write a Screenplay or Tell a Better Story
ZCM Software Packaging and ZENworks Application Virtualization
Standing Operating Procedures in Nutshell
Application Virtualization
standard operating procedure
Varicocele
Scrotal swellings 4- varicocele
Standard Operating Procedure (SOP) for Information Technology (IT) Operations
Standard operating procedure
 
Resume_vikash_new_updated_5
How to Write a Screenplay or Tell a Better Story
Ad

Similar to Mac Application Packaging (10)

PDF
Software Packaging/Scripting
PPTX
Software Distribution
PPTX
Surviving OS X as a Windows Admin
PDF
K2000 Advanced Topics
PPTX
Inventory Tips & Tricks
PPT
Free tools for rapidly deploying software
PPT
]project-open[ Package Manager
PPT
Prepping software for w7 deployment
PPT
BITS: Introduction to Linux - Software installation the graphical and the co...
DOCX
Data Warehousing Practical for T.Y.I.T.
Software Packaging/Scripting
Software Distribution
Surviving OS X as a Windows Admin
K2000 Advanced Topics
Inventory Tips & Tricks
Free tools for rapidly deploying software
]project-open[ Package Manager
Prepping software for w7 deployment
BITS: Introduction to Linux - Software installation the graphical and the co...
Data Warehousing Practical for T.Y.I.T.

More from Dell World (20)

PDF
Dell Data Center Networking Overview
PDF
Dell Storage Management
PDF
Dell Networking Wired, Wireless and Security Solutions Lab
PDF
2020 Vision For Your Network
PDF
Dell Cloud Manager Overview
PDF
Dell PowerEdge Zero Touch Provisioning
PDF
Simplifying Systems Management
PDF
Channel Partners: Lead with Dell Software Solutions
PDF
Innovating Teaching & Learning: Next Generation Student Access Model
PDF
Executing on the promise of the Internet of Things (IoT)
PDF
Focus on business, not backups
PDF
NVMe PCIe and TLC V-NAND It’s about Time
PDF
Key Security Insights: Examining 2014 to predict emerging threats
PDF
The Keys To A Successful Identity And Access Management Program: How Does You...
PDF
Client Security Strategies To Defeat Advanced Threats
PDF
What a data-centric strategy gives you that others do not
PDF
Cloud: To Build or Buy - Can You Justify On-Premises IT?
PDF
Cloud security: Accelerating cloud adoption
PDF
Detecting advanced and evasive threats on the network
PDF
So You Need To Build A Private Cloud. What Now? Best Practices For Building Y...
Dell Data Center Networking Overview
Dell Storage Management
Dell Networking Wired, Wireless and Security Solutions Lab
2020 Vision For Your Network
Dell Cloud Manager Overview
Dell PowerEdge Zero Touch Provisioning
Simplifying Systems Management
Channel Partners: Lead with Dell Software Solutions
Innovating Teaching & Learning: Next Generation Student Access Model
Executing on the promise of the Internet of Things (IoT)
Focus on business, not backups
NVMe PCIe and TLC V-NAND It’s about Time
Key Security Insights: Examining 2014 to predict emerging threats
The Keys To A Successful Identity And Access Management Program: How Does You...
Client Security Strategies To Defeat Advanced Threats
What a data-centric strategy gives you that others do not
Cloud: To Build or Buy - Can You Justify On-Premises IT?
Cloud security: Accelerating cloud adoption
Detecting advanced and evasive threats on the network
So You Need To Build A Private Cloud. What Now? Best Practices For Building Y...

Recently uploaded (20)

PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
ai tools demonstartion for schools and inter college
PDF
Nekopoi APK 2025 free lastest update
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administraation Chapter 3
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Introduction to Artificial Intelligence
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
medical staffing services at VALiNTRY
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Operating system designcfffgfgggggggvggggggggg
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Upgrade and Innovation Strategies for SAP ERP Customers
ai tools demonstartion for schools and inter college
Nekopoi APK 2025 free lastest update
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administraation Chapter 3
Which alternative to Crystal Reports is best for small or large businesses.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Introduction to Artificial Intelligence
2025 Textile ERP Trends: SAP, Odoo & Oracle
medical staffing services at VALiNTRY
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How Creative Agencies Leverage Project Management Software.pdf
Reimagine Home Health with the Power of Agentic AI​
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Operating system designcfffgfgggggggvggggggggg

Mac Application Packaging

  • 1. Dell World User Forum UFIL511: Mac Application Packaging Jeffrey J Hoover, Senior Trainer Michael Klocek, Learning Development Dell World User Forum
  • 2. Dell World User Forum Agenda • Installer Types • Oracle Java • Custom Packages • Google Chrome • Microsoft Office
  • 3. Dell World User Forum Installer Types
  • 4. Dell World User Forum APPs, PKGs, & DMGs • APP – Application Bundle – Actually a directory • PKG – Installer Package – Actually a Directory • DMG – Disk Image – Single file, like an ISO
  • 5. Dell World User Forum Basic Installer: Oracle Java
  • 6. Dell World User Forum Managed Install – Oracle Java • Find Software Record [Inventory | Software] • Attach appropriate payload • Create Managed Install [Distribution | Managed Install] – Target Smart Label
  • 7. Dell World User Forum Oracle Java – Find in Inventory • It doesn’t show in inventory! – Although the Install Manager does. • It’s an Internet Plug-in, not an APP • Installs into: – /Library/Internet Plugins/JavaAppletPlugin.plugin – /Library/PreferencePanes/JavaControlPanel.prefPane • Both of these are more complicated than that! – The Plugin has two different plist files for Enabled vs. Disabled – The PreferencePane is an alias points to an embedded part of the Plugin.
  • 8. Dell World User Forum Oracle Java – Find in Inventory • So we use Custom Inventory for a particular version • Find the right value in plist PlistValueEquals(/Library/PreferencePanes/JavaAppletPlugin.plugin/Con tents/Enabled.plist, CFBundleVersion, TEXT, 1.7.67.01) OR PlistValueEquals(/Library/Internet Plug- Ins/JavaAppletPlugin.plugin/Contents/Disabled.plist, CFBundleVersion, TEXT, 1.7.67.01)
  • 9. Dell World User Forum Determining Java Version • Create script to determine version – Load onto Macs • Custom Inventory to pull version if [ -f "/Library/Internet Plug- Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" ] ; then VERSION=$( defaults read "/Library/Internet Plug- Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" CFBundleVersion ) elseif [ -f "/Library/Internet Plug- Ins/JavaAppletPlugin.plugin/Contents/Disabled.plist" ] VERSION="Not installed." fi echo "$VERSION" ShellCommandTextReturn(/bin/bash /usr/local/bin/java_ver.sh)
  • 10. Dell World User Forum Oracle Java – Attach Payload • At least this part looks right… • Mount DMG, • Run Installer against the PKG
  • 11. Dell World User Forum Oracle Java – Create Managed Install
  • 12. Dell World User Forum Exercise: Java 7 u67
  • 13. Dell World User Forum Custom Packages
  • 14. Dell World User Forum Custom Packages • Sometimes what you are installing is none of the above! – Groups of different scripts – Script execution order/requirements – Application Bundle plus extra files or post-flight script • Packaging Tools Examples – Packages – AutoPKG/AutoPkgr – Payload Free Package Creator
  • 15. Dell World User Forum Packages • Free PKG builder • http://s.sudre.free.fr/Software/Packages/about.html
  • 16. Dell World User Forum Packages • Easily handles several options – App Bundles converted to PKG – App Bundles and files – Running Multiple PKGs – Pre-Flight & Post-Flight Scripts • Creates PKG files that can do more. Use them with Managed Installs, Post Installation Tasks, etc.
  • 17. Dell World User Forum AutoPkg / AutoPkgr • AutoPkg – Command line utility with recipes from GitHub – https://github.com/autopkg/autopkg/releases/latest – https://github.com/autopkg/autopkg/wiki/Getting-Started – Gathers PKG files, • AutoPkgr – https://github.com/lindegroup/autopkgr – GUI front end to AutoPkg – Covers recipe subscriptions
  • 18. Dell World User Forum Exercise: Custom Package – Google Chrome
  • 19. Dell World User Forum Customizing Installer: Microsoft Office 2011
  • 20. Dell World User Forum Microsoft Office • Office 2011 is a MPKG • Two choices for configuration: – Modify the Distribution file within the PKG › Allows a change to the default GUI – Add a Choices.xml to toggle the components in the PKG › Based on the defaults in the PKG, virtually clicks them • Ref: http://www.officeformachelp.com/office/administration/deployment/command-line/
  • 21. Dell World User Forum Microsoft Office • Any way you install it, it has a bunch of components. The challenge is to understand how to modify the availability of the components. • Three key attributes – Selected (initial state) – Enabled (available for selection/deselection) – Visible
  • 22. Dell World User Forum Microsoft Office ‘Distribution’ is a file that exists within the installer package. This file can be modified to change the default behaviors of the installer.
  • 23. Dell World User Forum Office Installer
  • 24. Dell World User Forum Microsoft Office Distribution file • Selected start_selected=“true” • Enabled start_enabled=“true” • Visible start_visible=“true”
  • 25. Dell World User Forum Microsoft Office - ShowChoicesXML <dict> <key>attributeSetting</key> <true/> <key>choiceAttribute</key> <string>visible</string> <key>choiceIdentifier</key> <string>outlook</string> </dict> <dict> <key>attributeSetting</key> <integer>1</integer> <key>choiceAttribute</key> <string>selected</string> <key>choiceIdentifier</key> <string>outlook</string> </dict>
  • 26. Dell World User Forum Microsoft Office - ChoicesXML <array> <string>outlook</string> <string>messenger</string> <string>proofingtools</string> <string>english</string> <string>dock</string> </array>
  • 27. Dell World User Forum MS Office - Installer • Man installer • Get existing choices: installer –pkg Office Installer.pkg –showChoiceChangesXML > msofficeChoices1.xml • Apply ChoicesChanges installer –pkg Office Installer.pkg –applyChoiceChangesXML msofficeChoices1.xml –target /
  • 28. Dell World User Forum Exercise: Microsoft Office
  • 29. Dell World User Forum Thank you.
  • 30. Dell World User Forum KACE Support Portal Migrating to Dell Software Support Portal • Starting in November, all KACE Support Portal material will be migrated to the Dell Software Support Portal • All service requests will be submitted online or by phone • Same great content – Knowledge base articles – Video tutorials – Product documentation – JumpStart training • Check out the Support Portal Getting Started videos

Editor's Notes

  • #10: if [ -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" ] ; then VERSION=$( defaults read "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist" CFBundleVersion ) else [ -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Disabled.plist" ]     VERSION="Not installed." fi echo "$VERSION” ShellCommandTextReturn(/bin/bash /usr/local/bin/java_ver.sh)
  • #19: Turn the java_update_disable.sh script into a package.
  • #24: Talk to the check boxes. SELECTED – ENABLED – HIDDEN
  • #27: Toggles the choice as if the checkbox is clicked in the GUI once for each item.
  • #31: Portal: http://www.software.dell.com/support Ticket Entry: https://support.software.dell.com/create-service-request Videos: https://support.software.dell.com/essentials/getting-started