public static ActionResult AppSearch_WEB(Session session)
 {
     RunWebAction(
         session,
         featureName =>
     {
         session.SetPropertyValue(WebInstallationInfo.FeaturePropertyName, featureName);
         if (session.IsRemoving() || session.IsPatching() || session.IsOlderVersionDetected())
         {
             WebInstallationInfo.CopyRegistryToProperties(session, featureName);
             WebInstallationInfo webInstallationInfo = WebInstallationInfo.CreateFromCurrentDetails(session);
             WebInstallationInfo.AddFeatureDetails(session, webInstallationInfo);
         }
         else if (session.UiLevel() != InstallUILevel.Full)
         {
             bool allowPropNameWithoutFeature        = WebInstallationInfo.GetWebFeatureNames(session).Length == 1;
             WebInstallationInfo webInstallationInfo = WebInstallationInfo.CreateFromCurrentDetails(session, featureName, allowPropNameWithoutFeature);
             if (ValidateWebProperties(session, webInstallationInfo))
             {
                 WebInstallationInfo.AddFeatureDetails(session, webInstallationInfo);
             }
         }
     }
         );
     return(ActionResult.Success);
 }
        public static ActionResult AfterWebDialog(Session session)
        {
            WebInstallationInfo webInstallationInfo = WebInstallationInfo.CreateFromCurrentDetails(session);

            ValidateWebProperties(session, webInstallationInfo);
            return(ActionResult.Success);
        }