Hallo,

falls Ihr als Entwickler MSADO einsetzt: Hütet Euch von Windows 7 SP1!

Programme, die unter Windows 7 SP1 neu kompiliert werden, laufen nicht mehr unter älteren Windows-Versionen (z.B. XP, W2K oder Windows 7 ohne SP1), wenn Ihr mit Early Bindings arbeitet.

Ursache: Microsoft hat die IID's in der MSADO-Typelibrary geändert.

Tückisch: Man bekommt die Probleme nicht mit, falls man die Anwendungen nicht auf einer Maschine testet, die mit einer älteren OS-Version ausgestattet ist. Ich habe auf meinen beiden Homeoffice-Rechnern W7-SP1 drauf, wollte nur einige kleinere Änderungen machen, die ich dann zufällig doch in einer VM mit XP getestet habe, und das knallte ganz fürchterlich.

Lösungsmöglichkeiten:
1. Es soll einen Patch für Rechner mit älteren OS-Versionen geben. Das kommt für mich nicht in Frage, da unsere Software weltweit auf tausenden Maschinen läuft. Die können natürlich nicht alle gepatcht werden. Außerdem steht der Patch nicht für W2K zur Verfügung, aber da sind natürlich auch noch etliche W2K-Rechner draußen.

2. Es gibt von Microsoft eine "MSADO60_backcompat Typelibrary. Das ist für mich auch problematisch, da zur Nutzung dieser Tlb die Verweise in den Programmen geändert werden müssen. Wenn dies vergessen wird, wäre der Effekt wie oben beschrieben, und bei den vielen Programmen, die wir haben, könnte das schon geschehen. Außerdem muss dies dann wohl auf allen Entwicklermaschinen installiert werden. Letztlich ist diese von Microsoft auch noch nicht abschließend getestet worden.

3. Den Quellcode auf Late Binding umstellen. Das kommt für mich auch nicht in Frage. Einerseits ist dies bei der Fülle von Quellcode kaum umsetzbar, andererseits bin ich ohnehin kein Freund von Late Binding.

4. Deinstallation vom SP1. Das funktioniert in jedem Falle, danach ist alles wieder gut. Das habe ich jetzt erstmal gemacht. Allerdings bin ich mir nicht sicher, ob dies die Lösung für die Zukunft ist, denn einerseits muss ich jetzt natürlich immer drauf achten, dass mir das Servicepack nicht wieder vom Updatedienst untergejubelt wird, andererseits geht das natürlich dann nicht, falls mal ein neuer Rechner, der ab Werk schon mit Windows-7-SP1 ausgestattet ist, angeschafft werden sollte.

Falls jemand mit einer der anderen Optionen Erfolg hat, oder vielleicht noch eine andere Lösung für das Problem hat, wäre das sehr interessant.

Viele Grüße
Ronald