예제 #1
0
 public static ActionResult AppSearch_DB(Session session, bool databaseShouldBeNew)
 {
     RunDatabaseAction(
         session,
         featureName =>
     {
         session.SetPropertyValue(DatabaseSetupInfo.FeaturePropertyName, featureName);
         if (session.IsRemoving() || session.IsPatching() || session.IsOlderVersionDetected())
         {
             DatabaseSetupInfo.CopyRegistryToProperties(session, featureName);
             DatabaseSetupInfo databaseSetupInfo = DatabaseSetupInfo.CreateFromCurrentDetails(session);
             DatabaseSetupInfo.AddFeatureDetails(session, databaseSetupInfo);
         }
         else if (session.UiLevel() != InstallUILevel.Full)
         {
             bool allowPropNameWithoutFeature    = DatabaseSetupInfo.GetDatabaseFeatureNames(session).Length == 1;
             DatabaseSetupInfo databaseSetupInfo = DatabaseSetupInfo.CreateFromCurrentDetails(session, featureName, allowPropNameWithoutFeature);
             if (TestConnectionString(session, databaseSetupInfo, databaseShouldBeNew, false))
             {
                 DatabaseSetupInfo.AddFeatureDetails(session, databaseSetupInfo);
             }
         }
     }
         );
     return(ActionResult.Success);
 }