static void RunDatabaseAction(Session session, Action <string> func) { foreach (var featureName in DatabaseSetupInfo.GetDatabaseFeatureNames(session)) { func(featureName); } }
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); }
public static void SetSuggestedPropertyValues(Session session, string featureName) { BaseSetupInfo.SetSuggestedPropertyValues( session, featureName, DatabaseSetupInfo.GetDatabaseFeatureNames(session), DatabaseSetupInfo.GetSuggestedDatabaseNames(session), new string[] { DatabaseSetupInfo.Constants.DatabaseName, DatabaseSetupInfo.Constants.AppUsername } ); }