/build/static/layout/Breadcrumb_cap_w.png

having two installs for the same software title

Hi,

Is this possible? basically I have the same software title but there are two different installs which work on certain machines. Is there a way I can do this?

Thanks

0 Comments   [ + ] Show comments

Answers (8)

Posted by: dchristian 12 years ago
Red Belt
0
There's two ways you could approach this.

1-Create custom inventory rules that check to see which software is needed.

2-Upload both installers and have a script determine which installer to use.
Posted by: cmccracken 12 years ago
Orange Senior Belt
0
I usually run into this problem with x86 vs x64 and go with the custom inventory rule.

Casey
Posted by: GillySpy 12 years ago
7th Degree Black Belt
0
A smart label could be used as well to put the machines into two different groups. What are your criteria mac456?
Posted by: grayematter 12 years ago
5th Degree Black Belt
0
I have run into this as well with Symantec Endpoint Protection. The software inventory entry is the same for both the 32bit and 64bit clients, however they are different installers. I'm contemplating the best approach from the suggestions above.
Posted by: cblake 12 years ago
Red Belt
0
In the case where both installs account to the same DB record in software inventory, I've handled this a few ways:
1- Custom inventory rule for x86 vs. x64
2- Zip together both files and a batch file that will install the correct version based on the system architecture.
3- Zip together both files and use smart labels to target the machines and have two MI's with different command lines to install.
4- Script to install rather than MI.

Comments:
  • Had this same issue with trying to install SEP 12. Option 3 worked out GREAT! Thanks for suggesting! - svierneisel 12 years ago
Posted by: GillySpy 12 years ago
7th Degree Black Belt
0
cblake / cmccracken what would you do for a custom inventory (CI) rule for detecting x86? The only reliable way I currently know of to detect 32-bit is to manually select the OSes in the custom entry and not use any actual CI rule.

2,3 and 4 are good.

The simplest thing for some to understand is probably a smart label separating your machines into 32-bit and 64-bit. The wizard can do this but it's code is harder to read.
  • Smart label 32:
select MACHINE.ID
from MACHINE
where OS_ARCH like '%x86%'

  • Smart label 64:
select MACHINE.ID
from MACHINE
where OS_ARCH like '%x64%'


An MI that targets these labels will only run if the software is not detected and it matches the architecture of it's label.

A script that targets these labels will only effectively run if it matches your verify step (e.g. verify installed file does or doesn't exist) in the script and it matches the architecture of it's label.

A bit of a tangent here, but many might be trying to use a label that is a combination of things....
If you want a smart label that is a combination of things (caution: Straying from simple now) then you could probably add "and OS_ARCH LIKE '%blah%' to your smart label SQL or base it off this label. If you are going to base if off the label code above then there are some tricky combinations to be aware of. A common example is contains or does not contain software. Here is the code for the four combinations of using a software criteria combined with a label criteria. Note that you could write some of these in a much simple way but I have intentionally written them as similar as possible to highly the differences.

In all the below make sure that your smart label has a higher order then the 32-bit/64-bit label (Home->label->smart label->choose action->order machine smart labels)
Here are the four combinations the wizard could do:
  1. software installed and in the 32-bit label (wizard could do this)
  2. software installed and not in the 32-bit label (wizard can do this)
  3. software not installed and in the 32-bit label (wizard can do this)
  4. software not installed not and in the 32-bit label (wizard can do this)
note: You wouldn't often use 2 and 4 here -- you would probably just use the 64-bit label instead of not in the 32-bit

/* if specific software is INSTALLED and 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME LIKE '%32-bit') ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NOT NULL /* software is not missing*/
and ML.ID IS NOT NULL /* label is not missing */

/* if specific software is INSTALLED and NOT 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME LIKE '%32-bit') ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NOT NULL /* software is not missing*/
and ML.ID IS NULL /* label is missing */

/* if specific software is NOT INSTALLED and 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME LIKE '%32-bit') ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NULL /* software is missing*/
and ML.ID IS NOT NULL /* label is not missing */

/* if specific software is NOT INSTALLED and NOT 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME LIKE '%32-bit') ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NULL /* software is missing*/
and ML.ID IS NULL /* label is missing */



Here are the four combinations with additional software criteria of specifying the verison of adobe (look for and DISPLAY_VERSION LIKE '%10.1.85.3%')
  1. software installed and in the 32-bit label (wizard could do this)
  2. software installed and not in the 32-bit label (wizard can do this)
  3. software not installed and in the 32-bit label (wizard cannot do this)
  4. software not installed not and in the 32-bit label (wizard cannot do this)
note: You wouldn't often use 2 and 4 here -- you would probably just use the 64-bit label instead of not in the 32-bit

/* if specific software is INSTALLED and 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%' and DISPLAY_VERSION LIKE '%10.1.85.3%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME IN ('32-bit')) ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NOT NULL /* software is not missing*/
and ML.ID IS NOT NULL /* label is not missing */

/* if specific software is INSTALLED and NOT 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%' and DISPLAY_VERSION LIKE '%10.1.85.3%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME IN ('32-bit')) ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NOT NULL /* software is not missing*/
and ML.ID IS NULL /* label is missing */

/* if specific software is NOT INSTALLED and 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%' and DISPLAY_VERSION LIKE '%10.1.85.3%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME IN ('32-bit')) ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NULL /* software is missing*/
and ML.ID IS NOT NULL /* label is not missing */

/* if specific software is NOT INSTALLED and NOT 32-bit then label it */
select DISTINCT MACHINE.ID, MACHINE.NAME from MACHINE
LEFT JOIN /**/
(select * from MACHINE_SOFTWARE_JT
JOIN SOFTWARE S ON S.ID=SOFTWARE_ID and
DISPLAY_NAME LIKE '%adobe flash player%' and DISPLAY_VERSION LIKE '%10.1.85.3%') MS
ON MACHINE.ID=MS.MACHINE_ID
LEFT JOIN ( select * from MACHINE_LABEL_JT JOIN LABEL L ON L.ID=LABEL_ID and L.NAME IN ('32-bit')) ML
ON ML.MACHINE_ID=MACHINE.ID
WHERE
MS.ID IS NULL /* software is missing*/
and ML.ID IS NULL /* label is missing */
Posted by: mac456 12 years ago
Purple Belt
0
Thanks for the solutions I am just currently reading to find out what would be best for me. Thanks again.
Posted by: ngbrown24 12 years ago
Blue Belt
0
RegistryValueEquals(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment,PROCESSOR_ARCHITECTURE,x86)

or

RegistryValueEquals(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment,PROCESSOR_ARCHITECTURE,AMD64)

Will help you limit installs :)
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

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