Show software packages in different scripts?
Hello,
I have a question about the `"Scripts" and Software -> Inventory".
Is there a way to see, if a software is used in different scripts without checking it manually - and without using labels?
For example:
Software A, B and C has to be installed before you can install software D. Software E needs software B and C
The script for the installation of software D installs ABC, the script for software E installs software BC too.
Now we have to update software B to a new version.
Is there a function or something, that we can easily see, which scripts install software B, so we can update these scripts?
Thank you!
Tom
I have a question about the `"Scripts" and Software -> Inventory".
Is there a way to see, if a software is used in different scripts without checking it manually - and without using labels?
For example:
Software A, B and C has to be installed before you can install software D. Software E needs software B and C
The script for the installation of software D installs ABC, the script for software E installs software BC too.
Now we have to update software B to a new version.
Is there a function or something, that we can easily see, which scripts install software B, so we can update these scripts?
Thank you!
Tom
0 Comments
[ + ] Show comments
Answers (1)
Please log in to answer
Posted by:
chucksteel
6 years ago
This is one reason why I use Managed Installs for software installation and set the order appropriately. I also separate all installers into their own Managed Install so that each piece can be updated independently.
Regardless, if your installers are all uploaded to the K1 as script dependencies, then a report of the KBOT_DEPENDENCY table will show you which scripts have the same files uploaded. Here is a quick query that would show that:
SELECT KBOT_DEPENDENCY.NAME, count(KBOT_DEPENDENCY.KBOT_ID) as KBOTS, group_concat(KBOT.NAME)
FROM ORG1.KBOT_DEPENDENCY
JOIN KBOT on KBOT.ID = KBOT_DEPENDENCY.KBOT_ID
GROUP BY NAME
HAVING KBOTS > 1
Another method is to look at the KBOT_VERIFY_STEPS table for scripts that launch an executable:
SELECT ATTR_VALUE as COMMAND, count(DISTINCT(KBOT_ID)) as KBOTS,
group_concat(DISTINCT(KBOT.NAME))
FROM ORG1.KBOT_VERIFY_STEPS
JOIN KBOT on KBOT.ID = KBOT_VERIFY_STEPS.KBOT_ID
WHERE KBOT_GRAMMAR_ID = 18
and ATTR_ORDER = 2
GROUP BY ATTR_VALUE
HAVING KBOTS > 1
This has the advantage of finding executables that aren't uploaded as dependencies but are launched by the script.
Of course, both of these methods rely on your installers to have a consistent naming scheme, so if I create a script that installs a dependency and call the dependency setup dsetup.exe, but you make one and call it NetFrameWork35.exe, that won't be helpful.