Hi all, 

Been having an issue as of late. 
I'm trying to use our K1000 server to deploy updates for Office 2016 for Mac. I created the label, the software, the distribution and everything works fine, except one thing: I can't seem to figure out a way to pull the app version using Kace, so that our server can check whether this specific version is already installed or not. 

I tried to using the plist file from each app, but it doesn't work.

Here's what I have while trying to deploy v15.24: PlistValueGreaterThan(/Applications/Microsoft Excel.app/Contents/Info.plist,Bundle Version,TEXT,15.23.16070900)
I already had v15.24 installed on my computer, and didn't work.
Do I need to add backslashes to the file name because of the spaces, like so: /Applications/Microsoft\Excel.app/Contents[...] ?

The plist file is not readable through Text Edit, needed Xcode to read it. 

Anyway, I'm babbling on here, but basically the question still stands: How would I go about "scripting" this during deployment so that our K1000 server checks the version of the app, so that when we apply the label to computers it doesn't keep reinstalling every time the computer is inventoried ?

Thanks in advance for the help! :) 
0 Comments   [ + ] Show Comments


Please log in to comment


Here is the custom inventory rule I use:
PlistValueEquals(/Applications/Microsoft Word.app/Contents/Info.plist, CFBundleVersion, TEXT, 15.24.16070900)

Note that you can't use PlistValueGreaterThan reliably by comparing text for greater than and less than doesn't always give the expected results where version numbers are concerned. If I ever find out who decided that version "numbers" can contain more than one decimal point in them I will have an interesting conversation with them.

In order to get the version number I normally create a CIR using PlistValueReturn first and then update the inventory for my test machine. That gives me the exact version number that KACE finds which I can use in the PlistValueEquals rule.

Answered 07/26/2016 by: chucksteel
Red Belt

  • Thanks for the quick reply.

    I understand the limitations of using PlistValueGreaterThan, but the reason I wanted to use it is because I want to control older versions, not newer versions. And I know that sometimes I'm too busy to update the CIR and stuff when a new version is released (since I'm mostly using Office online with O365, I rarely open my local apps).

    I'm currently looking at using Smart Labels instead, which would use the already-available information in Kace.

    I'm still having issues with this, because Kace pulls up wrong info when queried: Asking the smart label to pull up all the devices which have the following -
    Software title = Microsoft Excel
    Software version < 15.24
    And it pulls up a bunch of computers that have 15.24 installed and inventoried by Kace.
    Hell, I even tried to ask for Software version < 15.23, and it still pulled devices with 15.24.

    My only option right now would be to tell it to scan for "Software version != 15.24" (which works fine), and make sure to be up-to-date whenever Microsoft releases a new version.

    But I'm going to try this manually, maybe deploying an older package on a newer installation won't work...which would simplify the problem a lot actually.
  • Alright, I ended up having to play around with the Smart Label conditions, as Kace seems to be kinda dumb.

    Had to give the following conditions:
    Software title = Microsoft Excel AND
    Software version < 15.24 AND
    Software version != 15.24

    This way, it pulls every version of Excel prior to but not exceeding 15.24, and applies the Smart Label to it that pushes the v15.24 update for all the applications contained in the Office 2016 suite for Mac.

    And because it's a smart label, the label will auto-detach from the computer when it doesn't meet the criteria specified, thus having only one label to update every once in a while when Microsoft releases a new update.
Please log in to comment
Answer this question or Comment on this question for clarity