Sometimes a historical explanation is the best. “Berliner” (as in Berliner Würste) and “Weimarer” (as in Weimarer Republik) are historically not adjectives; they are the genitive plural of nouns for the inhabitants of the places in question. So, „Berliner Würste“ are „die Würste der Berliner“ (the Berliners‘ sausages). This also explains why there is an upper-case B.
This analysis goes back to Adelung, Grammatisch-kritisches Wörterbuch der Hochdeutschen Mundart, Spalte 1849, who writes:
Eben dieselbe Bedeutung hat diese Sylbe auch, wenn sie den Nahmen der
Länder und Städte angehänget wird, die Herkunft einer Person, zuweilen
auch eines Thieres und leblosen Dinges anzudeuten. Ein Römer, der aus
Rom gebürtig ist; so auch ein Frankfurter, Hamburger, Holsteiner,
Berliner, Leipziger, Österreicher, Schweizer, Engländer, Holländer,
Märker, Pfälzer u. s. f. Die sich auf e, en, und n endigen, werfen
solches vor dieser Zusammensetzung gemeiniglich weg, wie Lothringer
von Lothringen, Spanier, Thüringer; nur Meißen behält solches, ein
Meißener oder Meißner. Andere nehmen ein n eigenmächtig an, wie
Gothaner, von Gotha, anderer Veränderungen nicht zu gedenken. Indessen
darf diese Zusammensetzung nicht willkührlich versucht werden, weil
viele Gentilia in andern Formen hergebracht sind; z. B. ein Böhm,
Kroat, Däne, Preuße, Pommer, Franke, Franzose, Pohle, Sachse, Schwede,
Tartar, Deutscher, nicht Deutschländer, Ungar, Westphale, Indianer,
Italiäner, Jenenser, Hallenser, u. s. f. Übrigens lassen sich von
allen diesen Gentilibus auf -er auch Fäminina auf -inn bilden.
Römerinn, Frankfurterinn, Schweizerinn, Tirolerinn u. s. f.Oft werden
die Gentilia auf -er wie Beywörter gebraucht; Schweizer Käse,
Nürnberger Witz, Straßburger Geschütz, Hamburger Rindfleisch,
Leipziger Lerchen, Braunschweiger Würste, Berliner Blau, die Wiener
Landwehre. Allein diese Art des Ausdruckes macht die gedachten Wörter
gewiß nicht zu wahren Beywörtern. Sie stehen vielmehr nach Art der
Lateiner in der unbestimmten zweyten Endung des Plurals, gleichsam
Käse der Schweizer, so wie man auch in andern Fällen sagt, wer
Menschen Blut vergießt, Weiber Zorn ist heftig, Gottes Güte, Herren
Dienst geht vor u. s. f. Daher man sie allenfalls auch mit dem
Verbindungszeichen schreiben könnte. Meißner-Porzellän, Berliner-Blau,
Berger-Thran, Berger-Fische.
In other words: “Wiener” in “Wiener Landwehre” is not an adjective (“Beywort”), but genitive plural (“in der unbestimmten zweyten Endung des Plurals“) of a noun, whereby “Wiener” is invariable for case except in the gen. sing. (eines Wieners) and dat. pl. (den Wienern). “Die Wiener Landwehre” is “die Landwehre der Wiener”.
Is there any good reason not to accept this analysis?