Von Windows10 Reservierungen, Schaltern und Flaggen, dem Updateclient und dummen Fragen

  • Vorneweg: was hier gleich zu lesen ist, gilt nicht nur für Windows7, sondern gleichermaßen auch für Windows8.1.
    Den Artikel hier eröffne ich, weil mir einiges an Fragen bezüglich M$ Umgang mit der Verbreitung von Windows10 durch den Kopf gehen - basierend auf bestimmten Beobachtungen. Diese Fragen kann ich mir zur Zeit nur auf eine Art beantworten - vielleicht gibt es aber auch andere Antworten darauf, wer weiß...
    Des Weiteren möchte ich einmal dazu anregen, über bestimmte Handlungen beim "sich fernhalten" von Windows10 nachzudenken. Eventuell hilft der Beitrag hier, diese Handlungen in einem etwas anderen Licht zu sehen.


    Um den Beitrag hier überhaupt verständlich zu machen, muss ich erst mal einen Begriff klären. Dieser Begriff heißt Flag - oder in der Mehrzahl Flags.


    Was ist mit Flags gemeint, wenn davon hier gleich die Rede ist?
    Flag kommt aus dem englischen und bedeutet Flagge. Früher, als es noch keine Funkgeräte gab, wurden sich (unter anderem im Krieg) auf hoher See von einem Schiff zu einem anderen mittels Flaggen Signale übermittelt. Das Schiff, von dem aus "gesendet" wurde, setzte die Flaggen - der Empfänger schaute nach, wie die Flaggen gesetzt waren, interpretierte diese Signale und reagierte darauf entsprechend - also eine Weitergabe von Befehlen, auf die das Empfängerschiff reagiert hat.
    In der Computertechnik funktioniert das ähnlich. Ein Programm oder eine Komponente des Betriebssystems setzt Flags (Flaggen), in der Regel reagiert dann ein anderes Programm oder eine Systemkomponente auf diese Signale, wenn sie sie versteht und auswerten kann. Der Übermittler der Signale ist die Registry. Diese Flags oder Flaggen sind da Registrywerte in Form von Zahlen. Diese Zahlen symbolisieren den Zustand von Schaltern. Es kann ein einzelner Schalter sein, der zwei Schaltzustände hat (0 und 1 = aus und an) oder auch eine Gruppe von Schaltern, bei denen sich aus der jeweiligen Zahl der Schaltzustand jedes einzelnen Schalters ermitteln lässt.
    Diese Befehle in Form von Registry-Schaltern lassen dann beim Empfängerprogramm zum Beispiel ein Fenster auf eine bestimmte Art aussehen oder veranlasst das Programm zu einer bestimmten Aktion. Das Programm reagiert deshalb auf diese Signale, weil es so programmiert ist, in der Registry diese Flags an bestimmten Stellen in einer bestimmten Abfolge zu Suchen und darauf zu reagieren. Wenn hier gleich von "Flag gesetzt" die Rede ist, bedeutet das im Prinzip "Schalter an". "Flag nicht gesetzt" wird in dem Beitrag hier als "Schalter aus" zu verstehen sein.


    Windows ist bei diesen Flags übriegens sehr leicht zu durchschauen. In der Regel geben die Programmierer bei Microsoft diesen Registryeinträgen Namen, die darauf hindeuten, was sie bewirken sollen.

    2 Mal editiert, zuletzt von AxT ()

  • Mal drei Sachen für den Anfang:



    1. ReservationsAllowed
    Ich möchte mal mit etwas anfangen, was eventuell jeder überprüfen kann, der das GWX Tool noch installiert hat - mit dem Flag ReservationsAllowed.
    Dieser Flag wird nach meinen Tests in der Registry gesetzt, wenn der User über das GWX Tool eine Reservierung von Windows10 vornimmt oder Windows10 direkt installieren möchte.
    Dieser Flag wird aber nicht nur dann gesetzt. Er wird auch bei jedem Reboot des Rechners durch eine Komponente des GWX Tools neu gesetzt. Warum um Himmels Willen wird dieser Flag automatisch beim Reboot gesetzt, wenn er durch die Aktion des Users sowieso aktiviert wird und die volle Kontrolle über die Reservierung von Windows10 nur der User haben soll?


    2. KickoffDownload und OSUpgradeInteractive
    Bei Rechnern, bei denen plötzlich Windows10 installiert werden soll, sind Flags wie OSUpgradeInteractive und KickoffDownload gesetzt. Diese Flags werden nach meinen Tests nicht bei einer Reservierung oder Installationsanfrage von Windows10 über das GWX Tool gesetzt. Warum sind diese Flags gesetzt, wenn der User die Installation selbst eingeleitet haben sollte?


    3. OSUpgradeState und OSUpgradePhase
    Ich hasse nichts mehr als nicht funktionierende Arbeitsgeräte. Seit ich weiß, wonach ich schauen muss, schaue ich mir bei den Windows7 Geräten bei meiner Arbeitsstelle die Flags OSUpgradeState und OSUpgradePhase an. Vor kurzem stand plötzlich bei einem Gerät der Flag OSUpgradeState auf 14, der Wert OSUpgradePhase stand auf 2. Wie erwartet wurde Windows10 komplett auf dem Gerät mit diesen Werten heruntergeladen und der Ordner $WINDOWS.~BT existierte - mitsammt allen Dateien drin zur Installation von Windows10. Das hat auf der Kiste definitiv kein User eingeleitet. Bei allen anderen Geräte fehlt der Wert OSUpgradePhase noch und OSUpgradeState steht auf 1. Bei Geräten, die Windows10 installieren wollen, wird übrigens laut Internet zusätzlich KickoffDownload gesetzt. Gibt es eine bessere Erklärung als "Zufall" dafür, dass das nur auf einem Gerät geschehen ist und auf allen anderen nicht?

    2 Mal editiert, zuletzt von AxT ()

  • Zu 1.: Mir fällt beim besten kein Grund ein, diesen Flag automatisch zu setzen, wenn der User die einzige Kontrolle über die Reservierung von Windows10 haben soll. Der einzige Grund, der mir im Augenblick einfällt ist der, dem User eben nicht die alleinige Kontrolle zu überlassen, was bezüglich Windows10 geschieht.


    Zu 2.: Was jemand gar nicht tun kann, kann er meiner Meinung nach auch nicht getan haben. Ich sehe im Augenblick keinen Hinweis darauf, dass der User in den Fällen die Installation angefordert hat.


    Zu 3.: Zufall ist programmiertechnisch nichts, was einfach so passiert. Zufall ist ein eingeleiteter Vorgang - ähnlich wie eine Ziehung der Lottozahlen, die überall stattfindet. Wer 6 richtige kassiert, bekommt den Jackpot - der Rest geht leer aus. Programmiertechnischer Zufall ist statistisch bestimmbar und die Wahrscheinlichkeit des Eintreffens ist steuerbar - man reduziert oder erhöht einfach die Anzahl der Zahlen, aus denen man zieht. Zufall kann alle treffen - wen er wann trifft, ist nicht vorhersehbar. Derjenige, den der Zufall trifft, kann meist nicht nachvollziehen, warum es gerade ihn getroffen hat. Der Rest glaubt nicht daran, das es gerade sie trifft. Um statistisch etwas zu steuern, ist Zufall meiner Meinung nach bestens geeignet.

    Einmal editiert, zuletzt von AxT ()

  • Wenn man mal mit diesen ganz oben angesprochenen Registryflags (es gibt da einige) herumspielt wird klar, wer da genau Signale empfängt und Befehle ausführt. Es ist der Updateclient von Windows - also der Dienst und das Fenster, mit dem auf dem Rechner nach Updates gesucht wird. Diese Flags steuern das Aussehen des Fensters des Updateclients und sagen dem Dienst, ob er Windows10 als Update überhaupt finden oder installieren soll.


    Wenn der Updateclient das Schiff ist, das die Flaggensignle empfängt - wer sendet sie dann? Zum Teil sendet das GWX Tool (beim Reboot des Rechners und auch bei Aktionen des User - wenn der also Windows10 installieren will). Die kommen aber nicht nur von da. Im Augenblick sieht das für mich fast so aus, als würden Signale quasi vom Bug des Schiffs Updateclient, wo gerade der "Kapitän" steht Signale an das Heck geleitet werden, wo sich der Steuermann befindet. Das ist im Augenblick aber noch eine vage Vermutung durch die Beobachtung einer bestimmten Sache.

    Einmal editiert, zuletzt von AxT ()

  • Schaut man auf ältere Berichte aus dem Netz, hilft die Deinstallation von GWX auf keinen Fall dagegen, dass nicht versucht wird, Windows10 zu installieren, wenn die Lottozahlen passend fallen - no chance!
    Das beste, was passieren könnte, wird einem klar, wenn man sich oben meine Anmerkung über den Flag ReservationsAllowed einmal reinzieht: Es fehlt ein Flag für die Reservierung von Windows10, den Microsoft gerne dauerhaft gesetzt haben möchte. Was passieren könnte wäre also, dass Windows10 nicht vom Client auf dem Rechner zur Installation vorbereitet wird, bevor versucht wird, die Installation zu starten. Das ganze müsste dann mit Fehlermeldung abbrechen. Auch im Netz findet man Hinweise darauf, dass Rechner ohne GWX die Installation mit Fehlermeldung abgebrochen haben. Ob der Grund da das Fehlen von GWX war, habe ich noch nicht weiter überprüft - man konnte das eventuell nachvollziehen, wenn man da den zurückgegebenen Fehlercode analysiert.

    Einmal editiert, zuletzt von AxT ()

  • Diese Datensammlungen dienen vor allen Dingen dazu, Daten zur Treiberentwicklung zu sammeln und zu ermitteln, ob der Rechner kompatibel oder inkompatibel zu Windows10 ist. Ist ein Rechner definitiv inkompatibel zu Windows10, darf einem User eigentlich ein Upgrade auf Windows10 gar nicht angeboten werden, weil es ansonsten gewaltig Probleme mit Kunden und erst recht mit anderen Firmen gibt, die das System nutzen. Es muss also bei inkompatibilität ein Flag auf dem Rechner vorhanden sein, der dann den Rechner als inkompatibel kennzeichnet und den Updateclient so steuert, dass er Windows10 im besten Fall gar nicht anbietet. Wenn man sich das Verhalten des GWX Tools ansieht, wenn inkompatibilität festgestellt wurde, wird man wohl merken, dass ich mit dem was ich hier schreibe wohl recht habe. Solange noch nicht festgestellt worden ist, dass der Rechner inkompatibel zu Windows10 ist, ist es problemlos möglich, Windows10 zu reservieren und zu installieren.
    Ist der Rechner definitiv inkompatibel, zeigt das GWX Tool das hier an:
    [Blockierte Grafik: http://abload.de/img/gwxlss7j.png]
    Wie man sieht, gibt es da gar keine Optionen mehr für den User, Windows10 überhaupt irgendwie zu reservieren oder zu installieren.
    Vor was schützt man sich also bezüglich einer ungewollten Installation von Windows10, wenn man diese Datensammlungen verhindert? Vor gar nichts, im Gegenteil! Man verhindert, dass irgendwie erkannt wird, dass der Rechner inkompatibel ist und kann Windows10 ungewollt erhalten, auch wenn es da gar nicht läuft, wenn die Lottozahlen richtig fallen.

  • Wie ich an anderer Stelle bereits versucht habe zu vermitteln, muss es einen Flag geben, der generell und sicher jede Installation von Windows10 verhindert, auch wenn die an anderer Stelle eingeleitet wird. Wäre dem nicht so, könnte es für Microsoft gewaltig Probleme geben, wenn andere Firmen das System nutzen. Gerade im mediznischen Bereich wären Katastrophen vorprogrammiert, wenn dort plötzlich ungewollt etwas bezüglich der Installation von Windows10 geschieht.
    Dieser Flag muss bestimmte Kriterien erfüllen, an denen man ihn erkennen kann - er wäre sonst nutzlos für die Firma:

    • Der Flag muss öffentlich über einen Microsoftartikel bekannt gemacht werden - ansonsten können ihn Administratoren gar nicht nutzen.
    • Er wird über Gruppenrichtlinien einstellbar sein, da es hauptsächlich um Firmengeräte und Pro Versionen geht, die geschützt werden müssen.
    • Gruppenrichtlinien landen in der Regel im Bereich der Policies in der Registry. Der Flag wird sich also in diesem Bereich der Registry befinden.
    • Da Home und Pro Versionen von Windows vom Aufbau her gleich sind und in der Home nur Zusatzprogramme fehlen, wird der Flag auch für Home Versionen gültig sein.

    Wenn man diese Kriterien berücksichtigt, findet man den Flag sehr leicht. Den haben wir natürlich schon lange.

    2 Mal editiert, zuletzt von AxT ()

  • Der Updateclient muss Flags zur Steuerung des Downloads verstanden haben, bevor GWX überhaupt in Umlauf gebracht wurde. Läuft GWX auf dem Rechner und der Client versteht die Flags nicht, kann Windows10 durch den User gar nicht heruntergeladen und installiert werden. Bevor man etwas offiziell in Umlauf bringt, läuft immer eine längere Testphase. Microsoft testet zum Beispiel Funktionen im nativen Bereich über Jahre und Windowsversionen hinweg, bevor sie im Programmierbereich dokumentiert werden und offiziell zugänglich sind. Das Vorgehen beim Updateclient dürfte hier ähnlich sein - das ist lange geplant und die Flags funktionieren seit langem.


    Vor was schützt es also, wenn man diese Updates nicht installiert? Wir überlegen mal....


    1. Die Abarbeitung von Flags
    Wir nehmen jetzt mal wieder Kriegsschiffbeispiel mit den Flaggen. Wir stellen uns vor, unser Updateclient wäre ein Kriegsschiff, das seine Befehle über Signale mit Flaggen erhält. Bekommt nun unser Kriegsschiff zwei gegensätzliche Befehle aus unterschiedlichen Richtungen (aus der einen Richtung kommt der Befehl, einen Angriff zu starten - aus der anderen Richtung kommt der Befehl für einen Rückzug), wie wird sich das Kriegsschiff wohl verhalten? Ganz einfach:

    • Befehle, die eine höhere Pruiorität haben (zum Beispiel die eines Flagschiffs des Königs) wird es den Vorrang gewähren vor Befehlen mit niedrigerer Priorität (zum Beispiel Befehlen vom Schiff eines Admirals).
    • Sieht man auf dem Schiff den Befehl mit der niedrigen Priorität zuerst (zum Beispiel den Befehl zum Angriff), wird es erst den Befehl anfangen abzuarbeiten (also angreifen) und das tun, bis der Befehl mit der höreren Priorität gesehen wird (Rückzug).

    Wenn es jetzt die Registry angeht, sollte also eigentlich Flags mit hoher Priorität vom Updateclient ausgelesen und berücksichtigt werden, bevor Flags mit niedrigerer Priorität bearbeitet werden. Gerade wenn man mit größerem Code arbeitet, ist es aber manchmal gar nicht so einfach, seinen Code sofort so zu stricken, dass die Sache perfekt läuft - es kann also passieren, dass eigentlich ein Rückzug befohlen wurde, aber erst angegriffen wird, weil man die falsche Stelle in der Registry zuerst gelesen hat. Shit happens! Das führt natürlich zu merkwürdigen Fehlfunktionen des Client, wenn 8wie gesagt) die Lottozahlen passend fallen und der Client auf eine bestimmte Art angesteuert wird.
    Mit der Nichtinstallation so gekennzeichneter Updates verhindert man also die Beseitigung solcher Fehler, die zu ungewollten Fehlfunktionen des Updateclients führen können.


    2. Das Erkennen von Flags
    Gibt es mit Flags zur Steuerung des Clients Probleme (die können auch rechtlicher Natur sein), werden die eventuell bei einem Update des Clients entfernt. Der Updateclient kann also vor dem Update auf bestimmte Art steuerbar sein, nach dem Update fehlen diese Steuerungsmöglichkeiten durch Flags dann - oder sind durch unproblematischere ersetzt worden. Trifft das auf das jeweilige Update zu, schneidet man sich ebenfalls mit einer Nichtinstallation in den eigenen Finger.


    Was genau bei diesen Updates für den Client bezüglich der Installation von Wndows10 gefixt wird, wird Microsoft mit Sicherheit nie genau bekanntgeben.

    3 Mal editiert, zuletzt von AxT ()

  • Ich persönlich würde mir sehr genau überlegen, was ich tue. Vieles, was im Netz geraten wird, ist alles andere als sicher und bewirkt manchmal genau das Gegenteil von dem, was man eigentlich möchte (siehe oben). Ich möchte mehre Systeme definitiv nicht mit Windows10 ersetzen und gehe deshalb so vor:

    • Ich installiere alle Updates, die Microsoft auf meinen Rechnern haben möchte.
    • Ich nutze einen Microsoft konformen und teilweise von Microsoft dokumentierten Weg, um mich von Windows10 auf diesen Geräten entfernt zu halten. Daraus ist unser Tool zum Blocken entstanden.
    • Ich gehe sicher, das mein Rechner Kompatibilitätsdaten an Microsoft gesendet hat und überprüfe mit dem GWX Tool, ob mein Rechner kompatibel ist.
    • Um das automatische Setzen des Flags ReservationAllowed nicht zuzulassen, deaktiviere ich das GWX Tool bei Bedarf mittels Flag in der Registry
    • Ich überprüfe zwischendurch die Flags OSUpgradeState und OSUpgradePhase, um sicher zu gehen, dass meine Maßnahmen bezüglich der Blockung von Windows10 ausreichend sind.

    3 Mal editiert, zuletzt von AxT ()

  • Hi AHT


    Ich kann mich Eisbär nur anschliessen und WOW sagen. Vielen Dank für Deine Mühe! :top:

  • Auch von mir Hut ab. :top:
    Für die die es verstehen und umsetzen können.


    Daher auch keine Fragen aber eine Anmerkung.
    Für versierte User alles schön und gut.
    Für nicht versierte User besonders Punkt 4 und Punkt 5. Vor allem was die Registry betrifft.



    Es sind mittlerweile ja gute Anleitungen hier geschrieben.
    Wie wäre es daraus jetzt eine abzuarbeitende Liste zu erstellen die auch wirklich jeder versteht der kein Windows 10 möchte.
    Dann findet Windows 10 auch keinen Weg auf den Rechner.

    Ich bin in allem nicht gut aber auch nicht schlecht. (Gruß Norbert)
    ASUS Viviobook 15 (2022) - Intel® Core™ i5 (3,60 GHz) - 8 GB RAM - 512 GB SSD - Intel® UHD Graphics - Windows 11 Home 64-Bit
    Vodafone-Kabelglasfaser-Netz - Firefox 105.0.1 - Thunderbird 102.3.0 - LibreOffice 7.4.1 - uBlock Origin - [Drucker HP Officejet Pro 8610]

    [PB-EasyNote TE69KB (2013)] [Tablet Lenovo A10]

  • Für nicht versierte User besonders Punkt 4 und Punkt 5. Vor allem was die Registry betrifft.

    Deswegen wurde unser Tool entwickelt. Das übernimmt genau Nummer 2 und 4 und setzt unter anderem auch Nummer 5 bei Bedarf zurück.
    Nummer 5 kann man ganz einfach mit regedit kontrollieren - Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State

  • Deine Anleitung bezüglich der Updates zur Vorbereitung auf Windows 10 und Co. würde ich gerne mit einer Verlinkung auf deine Beiträge verteilen. Wäre dies für dich in Ordnung?

    Wichtig für mich ist, dass nichts aus dem Kontext gerissen wird oder falsch rüber kommt.

    • Das ist zum Beispiel keine Anleitung, sondern in etwa mein Vorgehen bei der Sache. "In etwa" weil da natürlich noch ein paar Sachen fehlen - dann wird es aber wirklich kompliziert. Wie weiter oben steht, hängt es von der Abarbeitung der Flags im Updateclient ab, was er tut. Auch wenn ihm verboten wird, etwas zu tun, kann er es trotzdem erst mal einleiten und später abbrechen. Ich muss also auch die Steuerflags mit einbeziehen und die zurücksetzen, wenn es nötig ist.
    • Ganz oben steht, dass es um Fragen geht, die ich mir beantworte. Die Fragen (ich denke, das wird aus meinem Beitrag klar) ergeben sich nicht aus Luft, sondern aus Beobachtungen - also Wahrnehmungen. Wahrnehmungen sind beim Menschen selektiv und können im Prinzip immer ein falsches Bild ergeben - es sei denn, man ist Autist - also krank (Autisten sind in der Handlungsfähigkeit eingeschränkt). Ich habe also Fragen und suche noch nach anderen Möglichkeiten der Beantwortung - und das bei anderen Menschen, weil die anders wahrnehmen als ich.
    • Es geht mir eigentlich um wissenschaftliches Arbeiten. Wenn man aus Beobachtungen heraus ein bestimmtes Bild hat, kommt es immer dazu, dass man bemerkt, dass etwas existieren muss, was man zur Zeit nicht sehen kann oder nicht findet. Es muss existieren, weil ansonsten das Bild nicht stimmt, was man durch die Beobachtungen erhalten hat. Es fehlt da natürlich an einigen Stellen was. Der Artikel ist also eventuell noch nicht komplett.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!