This is a “in case someone else has this problem, this is how I fixed a broken installer” post. SMART Technologies supplies software to work with their SMARTBoard whiteboard systems, which includes drivers and Notebook, a PowerPoint-like software tool. They do offer a deployment tool for “IT Administrators,” SMART Install Manager, which allows creation and customization of a genuine Apple .pkg installer. The tool offers choices about many things, including disabling installation of an out-of-date copy of Adobe Flash Player, automating serialization and activation of their software. Another choice is how to install Gallery items, which in an oversimplification, can be thought of as collection of clip art. This all sounds great and easy, a genuine Apple .pkg for deployment! However, all is not as it seems… the installer .pkg that SMART Install Manager makes an unfortunate assumption about path names. One of the installation scripts unnecessarily uses a static path to the where it thinks the Gallery content should be and we need it to use a relative path. A static path would be a bad practice, but workable, if we could dictate the mount point that Munki uses to mount the disk image under /tmp/ during installation. I don’t think that is possible. So, these are the steps I used with the SMART Install Manager to create an installer with the Gallery items that will reliably install on a remote system via Munki.
First, make a sufficiently large read/writable disk image with Disk Utility (for example: 4 GB) and mount it. In this example I am going to create a volume named SMARTBoardNotebookAndGallery15.1.708.0 with a filename of SMARTBoardNotebookAndGallery15.1.708.0rw.dmg
Launch the SMART Install Manager, make your various configuration choices. When you get to the Gallery Content tab, select “Installed on each computer” under “Choose how people access the Gallery.” Select what you like for “What parts of the Gallery should be installed?” I select it all. Under “Get the Gallery” select “I need to download it” and tell the Install Manager to download the Gallery content to the mounted disk image. For “How the Gallery will be found at install time” select “In the same folder as the installer itself” (This is going to configure an absolute path that we are going to have to subsequently correct in the installer package.)
Publish the install .pkg and save it to the mounted disk image. In this example, I am going to name it SMART15.0.277.0.pkg
We have a bit of work to do, as we need to modify the flat package that we just created to change a static path to a relative path, so the installer can successfully find the Gallery content on our disk image.
So let us expand the package:
pkgutil --expand /Volumes/SMARTBoardNotebookAndGallery15.1.708.0/SMART15.1.708.0.pkg Desktop/smart
Use your favorite non-TextEdit text editor, to open the “properties” file inside the Scripts folder of our freshly expanded flat package. I’m using TextWranger’s command line “edit”
edit Desktop/smart/Scripts/properties
You are hunting for the “export CONTENT_SOURCE_PATH” line to modify. In my example, you want to change export CONTENT_SOURCE_PATH="/Volumes/SMARTBoardNotebookAndGallery15.1.708.0" to export CONTENT_SOURCE_PATH=$(echo ${1%/*}) to make it a relative path to the root of the mounted DMG
Save your modified properties file. Now we will reflatten the modified installer package, copy the newly flattened package, overwriting the original flat package on the mounted read/write disk image
pkgutil --flatten Desktop/smart Desktop/SMART15.1.708.0.pkg ; cp Desktop/SMART15.1.708.0.pkg /Volumes/SMARTBoardNotebookAndGallery15.1.708.0/
Unmount the read/write disk image. Eject it in the Finder or use hdiutil detach with the correct /dev/disk
To save space and make the image capable of having an installer_item_hash by Munki, convert the read/write image to read-only compressed:
hdiutil convert SMARTBoardNotebookAndGallery15.1.708.0rw.dmg -format UDZO –o SMARTBoardNotebookAndGallery15.1.708.0.dmg
Now, all you have to do is import into your repo. I import with a --requires "Adobe Flash Player" to make sure it installs with an up-to-date copy of Flash from my repo. I also point to an --uninstall_script
#!/bin/bash
/Applications/SMART\ Technologies/SMART\ Uninstaller.app/Contents/Resources/uninstall --all
exit 0
--
Find related discussion groups here:
https://github.com/munki/munki/wiki/Discussion-Group
---
You received this message because you are subscribed to the Google Groups "munki-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munki-dev+...@googlegroups.com.
To post to this group, send email to munk...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I hate this software. Thank you for sharing this tip, I am sure I will be searching for it in the not too distant future!
--