dushyant
Level 3

Some exception observed in installation log file related to Evaluate Custom Rule in Installer Rules

Hi, We are using Evaluate Custom Rule in Installer Rules tab in installanywhere. We have downloaded IsRootCustom.zip from this link ( https://www.revenera.com/install/products/installanywhere/installanywhere-files-utilities.html ) and using this zip in Evaluate Custom Rule. Basically we are using this rule for to check to see if the user is root(administrator) or not on a Linux system while installing application. So this rule get evaluated only in Linux platform and for that we have added 2 more rules of check platform in Installer Rule tab. 1st check platform rule is checking platform is Windows or not and 2nd check platform rule is checking platform is Linux or not. So We have added below Rule Expression 
 
CP54 || (CP411 && ECR656)
 
CP54   - This object id represent to Windows Check Platform Rule. Returns true if platform is Windows otherwise returns false.
CP411 - This object id represent to Linux Check Platform Rule. Returns true if platform is Linux otherwise returns false.
ECR656 - This Object id represent to Evaluate Custom Rule. This on check the user is root(administrator) or not on a Linux system while installing application.
 
If you see the rule expression condition, CP411 and ECR656 both rule gets evaluated even if user using windows platform to install application. In Windows, as per the above Rule Expression condition only CP54 should get evaluated not other than that. But now all object id's getting evaluated and because of this we are observing below exception inside installation log file.    
 
java.io.IOException: Cannot run program "groups": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at java.lang.Runtime.exec(Unknown Source)
    at com.zerog.ia.customcode.IsRoot.ExecuteUNIXCommand(IsRoot.java:81)
    at com.zerog.ia.customcode.IsRoot.evaluateRule(IsRoot.java:52)
    at com.zerog.ia.installer.rules.CustomRule.checkSelf(Unknown Source)
    at com.zerog.ia.installer.rules.operators.ANDOperator.evaluateOperator(Unknown Source)
    at com.zerog.ia.installer.rules.operators.RuleEvaluationUtility.evaluatePostFix(Unknown Source)
    at com.zerog.ia.installer.rules.operators.RuleEvaluationUtility.evaluateRulesExpressionForPieceAlone(Unknown Source)
    at com.zerog.ia.installer.InstallPiece.checkRulesSelf(Unknown Source)
    at com.zerog.ia.installer.InstallPiece.checkRules(Unknown Source)
    at com.zerog.ia.installer.LifeCycleManager.a4(Unknown Source)
    at com.zerog.ia.installer.LifeCycleManager.a5(Unknown Source)
    at com.zerog.ia.installer.LifeCycleManager.executeApplication(Unknown Source)
    at com.zerog.ia.installer.Main.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.zerog.lax.LAX.launch(Unknown Source)
    at com.zerog.lax.LAX.main(Unknown Source)
    
This "groups" is a command of Linux which Evaluate Custom Rule is trying to run this command in windows platform that's why above exception is coming. But above Rule Expression condition is right then also why Evaluate Custom Rule (ECR656) is evaluating in windows platform? So any suggestion for that to resolve this issue.
I have also added some screenshot for better understanding.

CheckPlatformWindows.JPGCheckPlatformLinux.JPGEvaluatedCustomRule.JPG

0 Kudos
0 Replies