os x packaging
play

OS X PACKAGING Duncan McCracken Mondada Pty Ltd Hashtag : #xw15 - PowerPoint PPT Presentation

OS X PACKAGING Duncan McCracken Mondada Pty Ltd Hashtag : #xw15 Please leave comments on this talk at auc.edu.au/xworld/sessions About Mondada How we started Now running for 6 years The Statistics Current: 273 Vendors, 552 Titles,


  1. OS X PACKAGING Duncan McCracken Mondada Pty Ltd Hashtag : #xw15 Please leave comments on this talk at auc.edu.au/xworld/sessions

  2. About Mondada • How we started • Now running for 6 years • The Statistics • Current: 273 Vendors, 552 Titles, 1161 Packages • 2014: 3307 Packages Built, 10924 Delivered • 2015: 1548 Packages Built, 4093 Delivered so far M O N D A D A

  3. Best Practices • Install on any volume (where possible) • Avoid changing too much with scripts (where possible) • Meaningful error messages M O N D A D A

  4. 
 
 
 Reference Materials • Distribution Definition XML Schema Reference 
 https://developer.apple.com/library/mac/documentation/ DeveloperTools/Reference/DistributionDefinitionRef/Chapters/ Introduction.html • Installer JavaScript Reference 
 https://developer.apple.com/library/mac/documentation/ DeveloperTools/Reference/InstallerJavaScriptRef/index.html#// apple_ref/doc/uid/TP40005137 • Software Delivery Legacy Guide 
 https://developer.apple.com/legacy/library/documentation/ DeveloperTools/Conceptual/SoftwareDistribution4/ SoftwareDistribution4.pdf M O N D A D A

  5. Package Components M O N D A D A

  6. Distribution • Installation Checks • os-version 
 <volume-check> 
 <allowed-os-versions> 
 <os-version min="10.8.4" before=“10.10"/> 
 </allowed-os-versions> 
 </volume-check> • must-close 
 <pkg-ref id="org.mozilla.firefox"> 
 <must-close> 
 <app id="org.mozilla.firefox"/> 
 </must-close> 
 </pkg-ref> • required-bundles 
 <volume-check> 
 <required-bundles all="true" description=“ERROR_MSG"> 
 <bundle id="com.apple.prokit" path="/System/Library/PrivateFrameworks/ProKit.framework" CFBundleShortVersionString="7.0"/> 
 </required-bundles> 
 </volume-check> M O N D A D A

  7. Distribution • Selections • pkg-ref active 
 <pkg-ref id="com.apple.pkg.iPhoneSimulatorSDK6_1Patch" active="system.compareVersions(my.target.systemVersion.ProductVersion, '10.9') > 0”/> • relocate 
 very useful for re-locating existing applications M O N D A D A

  8. Plugins • Only really useful when installing via the UI • Don’t make a plugin a show-stopper • Reference 
 https://developer.apple.com/legacy/library/ samplecode/InstallerPluginSample/Introduction/ Intro.html M O N D A D A

  9. Common Components • BOM 
 Contains a listing of the files delivered • Archive 
 The actual files themselves M O N D A D A

  10. Flat Packages • PackageInfo 
 XML description of the flat package 
 Contains the Script calls • Scripts 
 Perform pre/post install tasks M O N D A D A

  11. Bundle Packages • Info.plist 
 Much the same as the PackageInfo • Resources 
 Contains the scripts & extras M O N D A D A

  12. The Tools • Stephane Sudre • Iceberg* 
 http://s.sudre.free.fr/Software/Iceberg.html • Packages 
 http://s.sudre.free.fr/Software/Packages/about.html 
 M O N D A D A

  13. The Tools • JAMF • Composer 
 http://www.jamfsoftware.com/products/composer/ M O N D A D A

  14. The Tools • Adobe • Adobe Application Manager Enterprise Edition (AAMEE) 
 http://www.adobe.com/devnet/creativesuite/ enterprisedeployment.html • Creative Cloud Packager (CCP) 
 https://www.adobe.com/go/ccp_installer_osx • Adobe CustomiSation Wizard 
 http://www.adobe.com/devnet-docs/acrobatetk/tools/Wizard/ index.html 
 M O N D A D A

  15. The Tools • Apple (OS X built-in) • pkgutil 
 pkgutil --expand “/path/to/package” “/path/to/destination” 
 pkgutil --flatten “/path/to/folder” “/path/to/package” • pkgbuild 
 pkgbuild --component “/path/to/app“ --scripts “/path/to/scripts“ --identifier “com.example.pkg” --version “1.0" --install-location “/Applications" --ownership recommended “/path/to/packagename.pkg” • productbuild 
 productbuild --version “1.0" --component “/path/to/application“ “/path/to/install-location“ "“/path/to/ packagename.pkg” • productsign 
 productsign--sign "Developer ID Installer: Mondada Pty Ltd" “/path/to/unsigned/package“ “/path/to/signed/ package“ M O N D A D A

  16. Packaging Workflows • Payload-free • Scripts only • Drag and Drop • Single Application • Application in a Folder M O N D A D A

  17. Packaging Workflows • Already in pkg Form • Modify Distribution • Modify Scripts • Bundle Conversion • Complete re-package M O N D A D A

  18. Packaging Workflows • 3rd Party Installers • Call installer via CLI (Payload-free) • Snapshot package • Adobe • AAMEE / CCP • ACW M O N D A D A

  19. Gotchas • Snapshots • Plugins • Calling 3rd Party Installers M O N D A D A

  20. What we Do • No Bundles • Split up Packages • Install • Update • Settings* • Modular Scripts M O N D A D A

  21. What we Do • Dealing with User-space • Handling Running Apps • Signing Packages M O N D A D A

  22. On Our Roadmap • Notifications for Running Apps • Provisioning Profiles M O N D A D A

  23. Thank you www.mondada.com.au M O N D A D A

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend