I think you have mis-understood me.
You have to use CatalogName Overwriting once, to set the New catalog name to an empty string.
This will force the application to use the Catalog Name supplied at runtime in the connection string.
So at runtime you can alter the catalog name by providing different connection strings, as you have done before.