A lot of talk has been done lately about using Growl Notify for notifications to users about installs.  Or how to possibly use jamfHelper to do this. Or...name your poison.  Well, I remembered back to the days of looking at Radmind for management, that there was a product named iHook that they used for end user notification.  It was a fairly simple program to use and it would basically take over the machine when you used it.  iHook was written to work as a login or logout hook, which is exactly what I wanted to use it for.  So, off I went last week testing the implementation, and the result was pretty cool.<br>
<br>First thing you&#39;ll need is a copy of iHook.  You can grab that off the Research Systems Unix Group at the University of Michigan:  <a href="http://rsug.itd.umich.edu/software/ihook/">http://rsug.itd.umich.edu/software/ihook/</a><br>
<br>Once you&#39;ve got that, you&#39;ll need to write a few &quot;iHook&quot; scripts to run and take care of your stuff.  Now my goal was to be able to install cached software at login or logout and alert the user.  The immediate things were the 10.5.8 update and CS4.  The way you invoke iHook, or at least the way I am invoking it, is to call iHook in a script and give it a path to the actual &quot;hook&quot; that I want it to run.  So, I have a script in Casper named &quot;installcached.sh&quot; that contains this script:<br>
<br>#! /bin/sh<br><br>/usr/local/bin/iHook.app/Contents/MacOS/iHook --no-titlebar --script=/usr/local/JAMF/hooks/install.hook<br><br>The &quot;hook&quot; script it calls, install.hook, contains the following code:<br><br>
#!/bin/sh<br><br>echo %BACKGROUND /usr/local/JAMF/images/iHookBack.png<br>echo %WINDOWSIZE 1024 768<br><br>jamf installAllCached<br><br><br>So, now that we have those scripts written, let&#39;s look at how I installed this.  I decided the /usr/local folder structure was the best place to put all of this.  So I put the iHook.app binary in the /usr/local/bin folder, then I created a JAMF folder at /usr/local/JAMF and inside of that put two folders:  images and hooks.  This provided me a way to put any background image up and run whatever hook I wanted.<br>
<br>So, I used Composer to create a package to install the binary and the background image and the install.hook files.  I then used ARD to push the package out to my machines, only because it was easier then adding to Casper and pushing via policy or something, for now.<br>
<br> Now that I have the iHook framework loaded, I created a policy to run on logout (I also tested with login and it works) that simply calls the &quot;installecached.sh&quot; script.  Once the user does a logout or restart or shutdown of their computer, the script runs, calls iHook with my background and installs all cached packages.  This is a machine going through an Adobe installation:<br>
<br><img title="?ui=2&amp;view=att&amp;th=124b75323c4a760c&amp;attid=0.1&amp;disp=attd&amp;realattid=ii_124b75323c4a760c&amp;zw" alt="?ui=2&amp;view=att&amp;th=124b75323c4a760c&amp;attid=0.1&amp;disp=attd&amp;realattid=ii_124b75323c4a760c&amp;zw" src="cid:ii_124b75323c4a760c" width="420" height="317"><br>
<br>As you can see, you get a timer in the upper right corner indicating how long it has been running, and you get the description of what is being installed.  You can script in a progress bar along with a bunch of other things that are described in the iHook DMG file from UMich.<br>
<br>I&#39;m still playing around with this, but this is definitely going to help me deploy 10.5.8 and CS4 later in the month, and keep my users aware.  Anything that you can script can be run as the &quot;hook&quot;, so if you wanted to run disk permissions repairs, or anything else, you can.<br>
<br>Hope this helps some people out.<br><br><br clear="all"><br>Steve Wood<br>Director of IT<br><a href="mailto:swood@integer.com">swood@integer.com</a> <br><br>The Integer Group | 1999 Bryan St. | Ste. 1700 | Dallas, TX 75201 <br>
T 214.758.6813 | F 214.758.6901 | C 940.312.2475 <br>