Blog Posts tagged with KACE Knowledge Base

Ask a question

KACE:Installing an Adobe application larger than 1.7 GBs on Mac agents running 5.3

The below guideline is how to install an Adobe application where the file size is 1.7GBs or larger to Mac agents.  The application used in the below example is CS5 premium.

First goal is to create an unattend install package (.pkg) of the product following these directions below:

  1. Copy the install file for the package to a local Mac workstation. This process works for any of the CS5 products (Dreamweaver, Photoshop, full CS5 package, etc).
  2. Download and install AAMEE (Adobe Application Management Enterprise Edition). Found here: http://www.adobe.com/devnet/creativesuite/enterprisedeployment.html
  3. Run AAMEE. It will launch a fairly long wizard, in which you will set the unattended install parameters for the Adobe package.

    NOTE: If you are unfamiliar with this application, Adobe has a tutorial video on how to create a package. To access this video, Click Here .

  5. Follow the instructions to create the install package.
  6. When the install package is complete, upload the package as a software inventory item to the K1000. If the browser upload fails, copy it to the clientdrop share on the K1000 appliance to attach it to the software item. 
  7. Create a corresponding MI package. Set the installation command to Configure Manually and leave the command window blank. Nothing needs to be ran here.

    NOTE: In the Configure Manually field, put a '.' so it will allow you to save the Managed Install.

  8. Deploy the PKG to a test system. The purpose of this is to not deploy and install the package, but to determine the actual package identification number given to its folder on the actual test system.
  9. Look at the test system for the exact path of the CS5 install package. It will be /Library/Application Support/Dell/KACE/data/packages/xxx. It's very important to find out what the actual 'XXX' number is for the file downloaded.

The next part is to create an Online Shell Script to deploy the Managed Install. Navigate to Scripting. Under Choose Action, select Add New Item. Change the Script Type to Online Shell Script. The script will need to include both the unzip command and the install command.

  1. The unzip command will need to target the exact path of the CS5 (or alternate Adobe application) package. It's "unzip <absolute path to package>".
  2. The install command is tricky and largely depends on how the unzip command above is used. This is because the default location of the file unzipped is the script dependancy folder (/Library/Application Support/Dell/KACE/data/scripts/xxx). It's advised to not specify an unzip location. Therefore the install command would be something like "installer -pkg /Library/Application Support/Dell/KACE/data/scripts/xxx/CS5_install.pkg"

  3. Finally, a Custom Inventory Rule would need to be created to ensure the rule detects the download of the package so it doesn't keep downloading it over and over.  The Custom Inventory Rule will also prevent the install of the application on every check-in. Create this rule in the same Software inventory item used to upload the application in Step 6.

  4. Application is now ready for deployment.

Be the first to comment

KACE::'MacUtil.class error prevents agent inventory updates to KBOX with 5.3' Workaround

In some instances, when inventorying Mac agents running the 5.3 agent, a MacUtil.class error message will occur similar to this:


This error occurs because the agent was unable to gather all of the necessary data from SystemProfiler.  First, update the Mac agent to the latest 5.3 agent. Then follow these instructions to resolve this error.

  1. Create a manual inventory.xml file by running /Library/Application\ Support/Dell/KACE/bin/MacInventoryU > inventory.xml .
  2. View the new inventory.xml file.  If it shows a complete inventory of the system without containing any errors, then it will automatically update to the KBOX and the inventory issue will go away.

If an error message similar to this is in the inventory.xml file instead:

ash-3.2# /Library/Application\ Support/Dell/KACE/bin/MacInventoryU > inventory.xml 
2012-03-05 15:02:02.224 MacInventoryU[4599:903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString appendString:]: nil argument' 
*** Call stack at first throw: 

0 CoreFoundation 0x99a556ca __raiseError + 410 
1 libobjc.A.dylib 0x908245a9 objc_exception_throw + 56 
2 CoreFoundation 0x99a553f8 +[NSException raise:format:arguments:] + 136 
3 CoreFoundation 0x99a5536a +[NSException raise:format:] + 58 
4 Foundation 0x943b5dc6 mutateError + 156 
5 MacInventoryU 0x00002eb7 -[SystemProfiler runProfileForDataTypes:detailLevel:] + 1423 
6 MacInventoryU 0x000027b9 -[SystemProfiler runProfileForDataTypes:] + 301 
7 MacInventoryU 0x00002017 main + 1017 
8 MacInventoryU 0x00001c02 _start + 216 
9 MacInventoryU 0x00001b29 start + 41 
10 ??? 0x00000001 0x0 + 1 

Trace/BPT trap 

The problem is related to either Spotlight being disabled on the Mac system or its Metadata is corrupt. SystemProfiler depends on Spotlight to populate its data. To resolve this conflict, the metadata file on the Mac agent will need to be rebuilt. To do this, Open Terminal (/Applications/Utilities/Terminal.app) and run sudo mdutil -i on -E /

This will rebuild the metadata file on the Mac system and it will inventory successfully in the KBOX. In some cases, this rebuild will resolve the problem permanently. However, a customer's environment may contain a few Macs that will need this process conducted on a regular basis.  To eliminate time and the need to add this workaround to the increasing daily requirements our IT customers are currently responsible for in each of their work environments, a script has been developed to impliment this task for you.

Below is the XML version of the script you can run from your KBOX:

<?xml version="1.0" encoding="utf-8" ?>
<kbots xmlns="http://kace.com/Kbots.xsd">
<config name="Clear MacOS Spotlight Metadata" type="policy" id="69" version="1331252818" description="This script can be used to help resolve issues dealing with problems uploading MacOS inventory to the appliance. Some of the symptoms can include incomplete inventory upload to the appliance, or getting the &quot;MacUtil.class&quot; error in the comments section of a MacOS inventory detail page.">
<execute disconnected="false" logged_off="false">
<verify on_failure="break" attempts="1">
<file_exists path="/Library/Application Support/Dell/KACE/data/" file="spotlight.com" />
<log_message type="status" message="Clear Spotlight Metadata script has already been run on this machine" />
<launch_program path="/usr/bin" program="mdutil" wait="true" parms="-i off" />
<launch_program path="/usr/bin" program="mdutil" wait="true" parms="-i on -E /" />
<launch_program path="/usr/bin" program="touch" wait="true" parms="/Library/Application\ Support/Dell/KACE/data/spotlight.com" />
<log_message type="status" message="Clear Spotlight Metadata script successfully completed" />
<log_message type="status" message="Clear Spotlight Metadata script failed to run" />

It will default to an Offline Kscript.

This script will create a file called "spotlight.com" in the agent log directory (/Library/Application Support/Dell/KACE/data).  If it detects that this file exists, it will not run again.

NOTE:  This workaround will not remove the MacUtil.class error message displayed on an Inventoried Mac agent summary page.  The MacUtil.class error message will be resolved in the 5.4 release. The responsibility of this workaround is to allow you to inventory your Mac units if you are faced with this problem.

If you discover that the above script only inventories your Mac units for a only a day or two and you find yourself back to the original problem, you can run the below script which will run the metadata clean even if spotlight.com is detected. This script will also update the timestamp on the last modified date on the "spotlight.com" file when it touches it again.


Note: IF you have upgraded to 5.4 from 5.3 and had this problem originally, the issue is fixed and the scripts are no longer needed.  However, the MacUtil error note will remain on the system in inventory.  To remove, open notes, delete the message and save.

View comments (3)

KACE::Familiarizing Yourself with the 5.1 KBOX Agent on a Mac

Where to find the Mac agent if you are currently running Agent 5.1

The 5.1 agent files are located in the '/Library/KBOXAgent/Home/bin/' and '/Library/KBOXAgent/Home/data' directory. These processes are found in the '/Library/KBOXAgent/Home/bin/' :

  • kagentd - KBOX Agent Process 
  • SMMPAgent - KBOX SMMP Process 
  • inventory - create machine.xml 
  • runallkbots - force check in (4.3) 
  • setkbox - change the KBOX host 
  • kagentctl <start|stop|restart|status|hup> 
  • SMMPctl <start|stop>

The '/Library/KBOXAgent/Home/data' contains:


  • KBOX_LOG.txt - log file 
  • kbot_config.yaml - config.xml equivalent (pre 5.0) 
  • kuid.txt - KACE id 
  • kbox_cache - scripts (2 and 3 for now) 
  • packages/ - managed installs (??)

and /var/kace/SMMP/

  • SMMP.conf - SMMP config file 
  • agent.log - SMMP log 
  • pluginPatching.log - patching log
  • patches/ - patch downloads

If the hostname needs to be changed, Follow these steps:

  1. sudo SystemStarter stop KBOXAgent 
  2. sudo /Library/KBOXAgent/Home/bin/setkbox <kboxname>
  3. sudo SystemStarter stop KBOXAgent

If debug needs to be enabled, Follow these steps:

  1. sudo touch /var/kace/kagentd/debug_agent.tag 
  2. sudo SystemStarter stop KBOXAgent
  3. Debug_agent.log will be created and used for debug logging. 
  4. AMP: 
  5. /var/kace/SMMP/SMMP.conf - add a line: debug=true 
  6. sudo SystemStarter start KBOXAgent
  7. Agent.log will be used for debug logging

Use this script to install the 5.1 agent to a Macintosh:

/usr/sbin/installer -pkg "KBOX Agent.pkg" -target / &&
/Library/KBOXAgent/Home/bin/kagentctl stop &&
/Library/KBOXAgent/Home/bin/SMMPctl stop &&
/Library/KBOXAgent/Home/bin/setkbox kbox.corp.kace.com &&
/Library/KBOXAgent/Home/bin/setssl 0

To remove the 5.1 agent installed on a Macintosh, follow these steps:

sudo SystemStarter stop KBOXAgent
sudo rm -fr /var/kace/ /Library/KBOXAgent/ /Library/StartupItems/KBOXAgent/ "/Library/Receipts/KBOX Agent.pkg"

View comments (1)

KACE::Familiarizing Yourself with the 5.3 KBOX Agent on a Mac

Where to find the Mac agent if you are currently running Agent 5.3

'/Library/Application Support/Dell/KACE' will contain both the /bin and /data directories.  The applications are found in '/bin' while the logs are located in '/data'. The SMMP.conf file has been renamed to AMP.conf.

Applications listed in the bin directory:

  • AMPAgent
  • AMPctl
  • Inventory
  • kagentlogonscript
  • kagentbootupscript
  • kagentctl
  • kpatch
  • KUserAlert
  • MacInventoryU
  • pluginDesktopAlerts.so
  • pluginRunProcess.so
  • PluginWeb.so
  • runkbot

Items found in the Data directory:

  • amp.conf
  • amp.log
  • default_config.yaml
  • kbot_service.wsdl
  • kbots_cache
  • KLocalExecutionState.dat
  • kuid.txt
  • packages

Debug logs will display in the /data directory when enabled.  To enable debug, Follow these steps:

  1. sudo /Library/Application\ Support/Dell/KACE/bin/AMPctl stop
  2. Edit the Amp.conf file found in /Library/Application\ Support/Dell/KACE/data and add a new line at the bottom with debug=true (all lowercase).
  3. sudo /Library/Application\ Support/Dell/KACE/bin/AMPctl start

To edit the hosts file:

  1. Open Terminal.app found in /Applications/Utilities
  2. Type sudo nano /private/etc/hosts
  3. Type your user password when prompted.
  4. The hosts file contains some comments (lines starting with the # symbol), as well as some default hostname mappings (e.g. - localhost). Type in your new mapping IP address underneath the default ones or edit one of the default values if you know what you are doing.
  5. When done editing the hosts file, press control-o to save the file.
  6. Press enter on the filename prompt, and control-x to exit the editor.
  7. For the changes to take an immediate affect, flush the DNS cache by 'dscacheutil -flushcache'

To install the 5.3 agent by script:

hdiutil attach ./ampagent-5.3.53053-all.dmg
mkdir -p /Library/Application\ Support/Dell/KACE/data
echo host=KBOX.kace.com > /Library/Application\
sudo installer -pkg '/Volumes/Dell KACE/AMPAgent.pkg' -target /
hdiutil detach '/Volumes/Dell KACE'

To manually remove the 5.3 agent:

  1. sudo /etc/rc.d/init.d/AMPctl stop
  2. sudo rpm -e ampagent
  3. rm -rf /var/dell/kace/
Be the first to comment

KACE::Mac::Installing Firefox through a managed install in OS X

This is an example of a typical install using the default settings in a managed install to mount a .dmg to deploy a .app file. In this case, Firefox 17.0.1 was installed on OS X 10.7.5. The instructions are compatible with all 5.3 and current 5.4.5315 KACE agents.

NOTE: Results may vary depending on the software that is being installed. Some applications may need to be repackaged in order to be installed successfully due to how the installer was built by the software developer. Most Adobe products are an example of ones that need to be repackaged.  An example of this can be found here: http://www.itninja.com/blog/view/kace-mac-installing-adobe-flash-player-through-a-managed-install-in-os-x 

To install Firefox through a managed install:

1. Install the application on a test machine.

2. Force a check in of that machine to the K1000 after the installation to test if the application is detected by the K1000. A check in can be forced by clicking on "Force Update" in the computer's inventory screen, or it can be done client-side in terminal with the below command.  NOTE: If the application does not show up, a custom inventory rule might need to be used.  See Option below.

sudo /Library/Application\ Support/Dell/KACE/bin/runkbot 2 0

Force check in from Computer Inventory: 


3. Go to Software Inventory and use the search bar to find Firefox. NOTE: Mac will need to be selected as the Family in the drop-down menu. Find the version that corresponds to the version of the software that needs to be installed. In this case, Firefox 17.0.1 is being used.

4. Select the supported operating system(s) and fill out Notes and Metadata as needed.

5. Upload the Firefox .dmg file to the Software Inventory item. Save the page.

6. Under the Distribution tab, click Choose Action>Add New Item.

7. Under Software, select Firefox (17.0.1) in the drop-down menu. (see screenshot under step 8)

8. Leave the settings as "Use Default". The K1000 agent will automatically mount the .dmg file and use ditto to copy the Firefox .app file to Applications (see the blue field in the screenshot for more information).

9. Set the Managed Action to the desired setting:

10. Use a label or select individual machines to limit the software deployment.

11. The software will be installed on the next system check in, or a check in can be run manually with the instructions in step 2.

Option: If the application does not show in Software Inventory, the steps below can be used. The primary differences are that a Software Inventory item will need to be created and that a Custom Inventory Rule should be used. The custom inventory rule will give the K1000 a way to know that the software is installed so that it does not try to install it again.

1. Navigate to Inventory>Software.

2. Click Choose Action>Add New Item

3. Title and describe as needed.

4. Select the targed operating system(s) in Supported Operating Systems.

5. Use a custom inventory rule to signify that the software is installed. NOTE: The gold question mark box will show the available options and syntax. In this example, a custom inventory rule for Firefox looks like this: /Applications/Firefox.app

Past this step, the above instructions can be followed.


View comments (1)
Showing 1 - 5 of 165 results

Top Contributors

Talk About K1000 Ticket Rules