/build/static/layout/Breadcrumb_cap_w.png

How to prevent MI rolling back to previous versions?

I want to make sure all machines in a label have a certain application. I can set up a managed installation for the latest version, but what happens when a newer version comes out? If someone updates to a newer one, will my MI roll them back? I want to avoid smart labels using "contains" or "regex matches" as much as possible. Thanks in advance


0 Comments   [ + ] Show comments

Answers (3)

Answer Summary:
Posted by: Nico_K 1 year ago
Red Belt
1

this really depends on the software you are using.

MS Office for instance changes entries in the registry so the MI, which checks for that will triggered again. 
(so you understand why some MI act like that while others work just as they should)

There is a workaround:
Before you install setup a Software Item (like MS Office Install) and setup the Custom Inventory Rule for something which never changes
(like FileExists("C:\Program Files (x86)\Microsoft Office\Office14") )

Upload the setup files to this Software item and setup the MI with this Software Item and you are done.

There is no general way since tooo many crap faced developers do the stupid thing and change locations, registry etc with every patch.

The other way is: use a label for new systems to install a basic software toolset and just update using KACE patching. (this is my preferred way)

Posted by: EmmaF 1 year ago
Yellow Belt
0

I was wondering if software labels were the way to go, but custom software items make a lot more sense. I'm a little new to KACE patching, but I'll look into that. Thank you!

Posted by: JordanNolan 1 year ago
10th Degree Black Belt
0

Most packages do not roll back, but you could add a condition to your smart label to only include versions less than what you have installed.  You probably want to create a custom SQL Statement.  Here is an example I used our 8x8 Work application.  Just change the display name and versions number to meet your application.

Note: This will install on every OS that is not filtered already by the "Supported Operating Systems" setting for the software package.  In this example I have all Windows 10 and 11 OSes set to support so it does not install on servers.  

Select

    MACHINE.NAME As SYSTEM_NAME,

    MACHINE.SYSTEM_DESCRIPTION,

    MACHINE.IP,

    MACHINE.MAC,

    MACHINE.ID As TOPIC_ID,

    Installed.DISPLAY_VERSION

From

    MACHINE Left Join

    (Select

         MACHINE.NAME As SYSTEM_NAME,

         MACHINE.SYSTEM_DESCRIPTION,

         MACHINE.IP,

         MACHINE.MAC,

         MACHINE.ID As TOPIC_ID,

         SOFTWARE.DISPLAY_NAME,

         SOFTWARE.DISPLAY_VERSION

     From

         MACHINE Left Join

         MACHINE_SOFTWARE_JT On MACHINE_SOFTWARE_JT.MACHINE_ID = MACHINE.ID Left Join

         SOFTWARE On SOFTWARE.ID = MACHINE_SOFTWARE_JT.SOFTWARE_ID

     Where

         SOFTWARE.DISPLAY_NAME = "8x8 Work") Installed On Installed.TOPIC_ID = MACHINE.ID

Where

    (Installed.DISPLAY_VERSION Is Null) Or

    (Installed.DISPLAY_VERSION < '8.2.5.2')

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ