Problem Windows version über die if abfrage ermitteln ja oder nein.

  • Hallo an alle habe Problem mit das Richtige if abrage!

    hier erst mal mein System damit man weiß was ich überhaupt meine.

    Windows 7 64 Bit version mit 2 Programm Ordner einmal Das normale Program Files und für die x86 anwendung(32bit) das Program Files (x86)

    nun will ich eine automatische Setup Installersion mit Autoit bastelln das programm soll auf windows 7 64 bit aber auch bei xp installieren können da aber Windows 7 64 bit version des befehl "@Programfilesdir" nicht in das Program Files (x86) kopieren tut sondern auf die 64 bit.(normale Program Files (der 64 bit anwendung)

    nun will ich eine if abfrage erstellen damit er erkännt mit welche version Windows version es sich überhaupt handelt und die passende Funkion gestartet wird.


    nun habe ich es so ausprobiert

    [autoit]

    If @OSVersion&@AutoItX64 Then
    MsgBox(0,'Windows Info','Es Handelt sich um eine 64 bit Version')
    Else
    MsgBox(0,'Windows Info','Es Handelt sich um keine 64 bit version')
    EndIf

    [/autoit]

    doch Autoit sagt mir es würde sich bei windows XP sich auch um eine 64 bit handelt doch ist es nicht.
    Die Msgbox will ich dann später ersetzen durch funkionen.


    Bitte um Hilfe ?( . was habe ich hier übersehen.


    Gruß Baron

  • @Milla

    Habe es so aus Probiert.

    [autoit]

    If @OSArch Then
    MsgBox(0,'Windows Info','Es Handelt sich um eine 64 bit Version')
    Else
    MsgBox(0,'Windows Info','Es Handelt sich um keine 64 bit version')
    EndIf

    [/autoit]

    doch windows xp sagt mir wieder das er auch eine 64 bit version ist.

  • aber ich Denke mal das kann ja so erst Recht nicht Funkionieren weil er ja nur ermitteln tut welche version ich habe.

    mit meinem befehl habe ich doch denn befehl "@AutoItX64" zu getan damit er erkennen tut ob es sich um eine 64bit anwendung handelt oder nicht.

    doch was habe ich vergessen müsste ich es vorher auslesen lassen und dann als if abfrage ??????

  • @Milla

    Habe es so aus Probiert.

    [autoit]

    If @OSArch Then
    MsgBox(0,'Windows Info','Es Handelt sich um eine 64 bit Version')
    Else
    MsgBox(0,'Windows Info','Es Handelt sich um keine 64 bit version')
    EndIf

    [/autoit]

    doch windows xp sagt mir wieder das er auch eine 64 bit version ist.

    das kann auch gar nicht funktionieren ... @OSArch gibt keinen bool wert zurück ( true/false ) sondern einen string mit X86 (64 bit32 bit ) oder X64 (32 bit 64 bit )

    auszug aus der autoit hilfe:

    Zitat

    @OSArch Gibt eines der folgendes zurück:"X86","IA64","X64" - dies ist der Architekturtyp des aktuell laufenden Betriebssystems.

  • Scripter192

    Danke dir habe es schon getan die x64 einzutragen es klappt so wie jetzt sein soll ich dachte schon ich müsste erst das ganze kompliziert auslesen lassen und dann die if Abrage das es sich nur um eine kleine = abrage handelt währe ich nicht schnell
    darauf gekommen.

    Tausend Dank an dir


    Gruß Baron