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 ActionResult AfterDatabaseDialog(Session session, bool databaseShouldBeNew) { var databaseSetupInfo = DatabaseSetupInfo.CreateFromCurrentDetails(session); databaseSetupInfo.UseExistingDatabase = false; if (TestConnectionString(session, databaseSetupInfo, databaseShouldBeNew, true)) { DatabaseSetupInfo.AddFeatureDetails(session, databaseSetupInfo); } return(ActionResult.Success); }