IT Management Suite

 View Only
Expand all | Collapse all

Removing discovered SW

  • 1.  Removing discovered SW

    Posted Aug 04, 2020 09:55 AM
    hi experts,
    Today's query should be nice:

    could someone please remind me how to remove a discovered software on multiple devices (also multiple different versions of that specific software), and creating a policy that if we detect if any user accidentally reinstall it, so it would automatically get uninstalled once again? 
    (there was a nice video tutorial , but i can't locate it any more for some reason).

    just to point out, that the discovered software is not currently managed by the NS console (it's just a simple filter that if we click a certain software , we noticed that it's currently installed on multiple devices and we wish to remove it),
    So if there is something needed to be done on that side as well, please do let me know.

    thanks for your time (and patience! )

    Hagai


  • 2.  RE: Removing discovered SW

    Broadcom Employee
    Posted Aug 05, 2020 05:36 AM
    Hello Hagai!

    Will explain you at high level, if later any deeper explanation is required, then you are welcome to ask.
    Not aware of the video you mentioned, but I would be doing the following way:

    1) Detect the "uninstall required" software X under "All Software Components" that was discovered  in the Manage->Software Catalog in NS Console
    2)  Create "Computers with Software X installed"  filter by  RightClick->Actions->"Create Installed Software filter "
    3) For X - add uninstall commandline - you will find the commandline string in dataclass Inv_InstalledSoftware.[UninstallPath] - the row with  _ResourceGuid of X - sometimes  (5-10% it will be empty - then we don't know out of box how to uninstall the software that was detected 
    4) Create Managed Delivery Policy for X :
    * selecting the commandline from (3)
    * target the policy to NEW TARGET based off the filter you created at (2)
    * specify RECURRING schedule, say daily
     
    Note: 
    Steps 1- 4 will only uninstall for X. To cover ALL the versions of the components currently I believe you should run 1-4 for each version of the component.

    Regards
    Artur


    ------------------------------
    Software Engineer 5
    Broadcom Inc.
    ------------------------------



  • 3.  RE: Removing discovered SW

    Posted Aug 05, 2020 06:41 AM

    Thank you Artur!

    I will try to implement according to instruction.

     

    I hope I will manage �� (and will reply back if not)

     

     

    Tnx,

     

    Hagai

     

    ---------------------------------------------------------------------
    A member of the Intel Corporation group of companies

    This e-mail and any attachments may contain confidential material for
    the sole use of the intended recipient(s). Any review or distribution
    by others is strictly prohibited. If you are not the intended
    recipient, please contact the sender and delete all copies.






  • 4.  RE: Removing discovered SW

    Broadcom Employee
    Posted Aug 05, 2020 07:11 AM
    Hi Hagai!

    Here is the correction: the dataclass holding the uninstall string is Inv_AddRemoveProgram, the column name is UninstallPath.
    Regards,
    Artur

    ------------------------------
    Software Engineer 5
    Broadcom Inc.
    ------------------------------



  • 5.  RE: Removing discovered SW

    Posted Aug 05, 2020 07:18 AM

    Thanks for that! ��

     

    Tnx,

    Hagai

     






  • 6.  RE: Removing discovered SW

    Posted Aug 05, 2020 01:28 PM

    Hi Artur,

     

    1. Detect the "uninstall required" software X under "All Software Components" that was discovered  in the Manage->Software Catalog in NS Console

     

    Done, found how and where.

     

    2)  Create "Computers with Software X installed"  filter by  RightClick->Actions->"Create Installed Software filter "

    Done, found how and where.

     

    1. For X - add uninstall commandline - you will find the commandline string in dataclass Inv_AddRemoveProgram .[UninstallPath] - the row with  _ResourceGuid of X - sometimes  (5-10% it will be empty - then we don't know out of box how to uninstall the software that was detected

     

    Not sure exactly where can I locate the commandline needed for this action. Where do I enter the dataclass AddRemoveProgram to see that unisntallPath? (_ResourceGUID is a table / entry in the SQL database, right? So how do I gather that needed information?)

     

     

     


    4) Create Managed Delivery Policy for X :
    * selecting the commandline from (3)
    * target the policy to NEW TARGET based off the filter you created at (2)
    * specify RECURRING schedule, say daily

     

     

    I will repeat for each software X version needed , if that's the best practice, but I am a bit lost of how to achieve such uninstall.

     

    Any chance you are able to share a step guide or additional information please?

     


    thanks in advance,

     

    Hagai

     






  • 7.  RE: Removing discovered SW

    Broadcom Employee
    Posted Aug 06, 2020 08:57 AM
      |   view attached
    Hi Hagai!
    I attached the steps 3 , 4 in UninstallSW.docx.
    Hopefully there are enough details.
    The doc covers a single component uninstall.

    Good luck!
    Artur

    ------------------------------
    Software Engineer 5
    Broadcom Inc.
    ------------------------------

    Attachment(s)

    docx
    UninstallSW.docx   595 KB 1 version


  • 8.  RE: Removing discovered SW

    Posted Aug 09, 2020 09:29 AM
    hi Artur,
    i managed to get to the final stage (followed instruction by the letter, and thanks again for the lovely guide, it was very helpful!)

    But: end results are always the same: "non compliant", even though i doubled checked the GUID uninstall commandline multiple times  (that sometimes show as "X/GUID#" and some other times show as "I/GUID#"), made sure to choose "uninstall", created the target, policy, and ran successful. 
    (also tried multiple versions of the SW) 

    But even after policy made, and got to end client, the uninstall fails:

    my question is, as i mentioned, the software installed was not previously installed by the ITMS, it's a software that does appear on "all software components" , but i never created a "push package" for it.

    are we sure that these 4 steps you wrote is all that is needed? (the software i'm trying to uninstall is very similar to the example you gave, it's not like it's a special software).

    hope i was able to make my issue clearer,

    tnx,

    Hagai


    ​​


  • 9.  RE: Removing discovered SW

    Posted Aug 09, 2020 10:44 AM
    no need to edit change anything else in the package tab?:
    or maybe edit inside the MSI command Line Builder?

    i'm missing something very small to achieve this, and i can't find what am i doing wrong?

    tnx,

    Hagai



  • 10.  RE: Removing discovered SW

    Posted Aug 09, 2020 10:46 AM
    The uninstall is always /x, the /i is for "Programs And Features" entries where you can then select uninstall from the GUI. But as you're doing it through ITMS you need to put /x, and /qn to suppress any GUI. I usually add /norestart to make sure the uninstall doesn't trigger a reboot and /l*v c:\windows\logs\appnameUN.log to log the uninstall process. So I end up with:

    msiexec /x {guid} /qn /norestart /l*v c:\windows\logs\appnameUN.log

    Sometimes you might need the original msi package to run the uninstall and sometimes the install might be in the users' context/profile and not the system context that ITMS runs installs and uninstalls by default.

    https://docs.microsoft.com/en-us/windows/win32/msi/standard-installer-command-line-options
    https://docs.microsoft.com/en-us/windows/win32/msi/command-line-options

    ------------------------------
    Infrastructure EngineerUnited Kingdom
    ------------------------------



  • 11.  RE: Removing discovered SW

    Posted Aug 09, 2020 11:11 AM
    Thank you Andy,
     i will try as suggested.

    but now does this means i have to find and locate each and every SW version of an installation? and then what? create a package delivery per each version? this seems such a wrong way to go.

    i thought as long as i have an agent installed on an end client machine i will be able to remove unnecessary software and installation that end client accidentally installed. (and not to work twice).

    also, if there was an option to remove all SW version *, and not do this per each version, then maybe finding the installation file wouldn't be that time consuming.

    tnx,

    Hagai


  • 12.  RE: Removing discovered SW

    Posted Aug 09, 2020 11:33 AM
    if i run the command from the actual machine:
    MsiExec.exe /x {GUID} /qn /norestart /l*v c:\windows\logs\appNameUN.log
    - it is successfully uninstalled. (great start! ) :) 

    the issue still persists from the push of the policy from the ITMS to end client where is it claiming the end client is non compliant for some reason :(

    tnx,

    Hagai