Probleme mit @OSVERSION

  • Hallo,
    ich habe da ein etwas sonderbares Problem mit dem @OSVERSION-Makro.

    Ich verwende Windows 7 Ultinate 64-Bit (deutsche Version) als Betriebssystem.
    Ich wollte mir ein Installationsscript für das Program "RegShot" schreiben. Da dieses Script auch unter Windows XP 32-Bit laufen soll, habe ich da eine Funktion zum erkennen des verwendeten Betriebssystem eingebaut.
    Darin wird u.a. das Makros @OSVERSION ausgewertet.

    Im Laufwerk C: befindet sich ein Ordner, mit dem Namen "RegShot". darin befinden sich die erforderlichen Dateien und die Installationsdatei "RegShot Install.exe".
    Wenn ich diese Installationsdatei aufrufe, so meldet die Datei mir immer "Kein unterstütztes Betriebssystem vorhanden".
    Zum ermitteln des Fehlers, habe ich das Installationsscript (und die Installationsdatei) bis auf:

    Spoiler anzeigen
    [autoit]


    ; #SCRIPT# ----------------------------------------------------------------------------------------------------------------------------------------------
    ; Script Funktion : Testdatei für AutoIt
    ; AutoIt Version : 3.3.8.1
    ; Script Autor : BigRox
    ; -------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Sonstiges für dieses Script fest legen.
    #RequireAdmin

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "", @OSVersion)

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]


    reduziert und siehe da, es wird immer "WIN_VISTA" ausgegeben.

    Sobald ich aber die Installationsdatei umbenenne, in z.B. "RegShot1 Install.exe", so wird auch wieder "WIN_7" ausgegeben.

    Wenn ich das Programm installiere, so erscheint auch immer das Fenster des Programmkompatibilitätsassistenten. Dieses Fenster erscheint eigentlich nur, wenn beim Installieren etwas schief gelaufen ist.
    (das Programm funktioniert aber einwandfrei und ist auch für Windows 7 64-Bit geeignet).

    Anscheinend passt Windows 7 irgendetwas an dem Namen nicht.

    Kennt einer dieses Problem und hat eine Lösung dafür ?
    Mir würde nur, den Dienst des Programmkompatibilitätsassistenten beenden und den richtigen Schlüssel aus der Registry auswerten einfallen.
    Nur mich würde die genaue Fehlerursache interessieren, gibt es da vielleicht eine Datei o.ä.bei Windows 7 die den selben Namen hat ?
    (Doppelt verwendete Tastenkombies stören sich ja auch gegenseitig).

    MfG
    BigRox

  • Kann dein Problem nicht nachvollziehen. Das Makro sollte immer den korrekten Wert ausgeben. Die wahrscheinlichste Ursache ist, das auf dem betreffenden System in der Vergangenheit eine Datei mit exakt diesem Namen im Kompatibilitätsmodus ausgeführt wurde (hier VISTA). Windows speichert den Namen jeder Datei die im Kompatibilitätsmodus gestartet wird in der Registry. Ich weiß den Schlüssel dafür gerade nicht auswendig, google sollte das aber sicher flott für dich herausfinden. Nach der Löschung des Eintrages sollte es keine derartigen Probleme mehr geben. Alternativ kannst du auch die Eigenschaften der exe kontrollieren und schaun ob da der Kompatibilitätsmodus angehakt ist bzw. deaktivierbar ist.