Installationsorder 32 und 64Bit, Error Then

  • Hey,

    [autoit]

    ;Installationsordner für 32Bit-Systeme (Windows 2000, XP und Vista (32-Bit))
    $InstallDirX86 = @ProgramFilesDir & "\XXXX\XXXX"
    ; Installationsordner für 64Bit-Systeme (XP und Vista (64-Bit))
    $InstallDirX64 = @HomeDrive & "\Programme (x86)\XXXX\XXXX"

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

    If @OSArch = "X86" Then
    $InstallDirX86 = $InstallDir
    EndIf

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

    If @OSArch = "X64" Then
    $InstallDirX64 = $InstallDir
    EndIf

    [/autoit]

    Kann ich wenn jemand oben eine Falsche InstallDir eingibt(falsche Syntax etc.), das das Script nicht stop sondern einfach die Default InstallDir nimmt???

  • [autoit]

    If @OSArch = "X86" Then
    $InstallDirX86 = $InstallDir
    If @error Then
    Default
    EndIf
    EndIf

    [/autoit]

    Ich mein so in der Art er gibt einen Fehlercode aus, also müsste das so in die Richtung gehen.

    • Offizieller Beitrag
    [autoit]

    If @OSArch = "X86" Then
    $InstallDirX86 = $InstallDir
    If @error Then
    Default
    EndIf
    EndIf

    [/autoit]

    Ich mein so in der Art er gibt einen Fehlercode aus, also müsste das so in die Richtung gehen.


    Ich verstehe jetzt nicht was du eigentlich willst . Wieso willst du da auf Fehler abfragen ?
    Ausserdem ist mir aufgefallen das du die InstallDir zuweisung in die falsche Richtung machst .Da würde vollkommen ausreichen :

    [autoit]

    If @OSArch = "X86" Then $InstallDir = $InstallDirX86

    [/autoit]

    In deinem Code würdest du der Variable $InstallDirX86 den Inhalt von $InstallDir zuweisen .

  • Mach doch einfach

    [autoit]

    Switch @OSArch
    Case "X86"
    $InstallDir = $InstallDirX86
    Case "X64"
    $InstallDir = $InstallDirX64
    Case Else
    $InstallDir = "xxxx/xxxx/xx"
    EndSwitch

    [/autoit]
  • Also erst mal ein großes Danke für die tollen Antworten.

    Also ich würde gerne das im Script auf Fehler der Syntax (in dem Fall in der InstallDir) eine Spezieler Wert genomen wird.

    [autoit]

    ;Installationsordner für 32Bit-Systeme (Windows 2000, XP und Vista (32-Bit))
    $InstallDirX86 = @ProgramFilesDir & "\XXXX\XXXX
    ; Installationsordner für 64Bit-Systeme (XP und Vista (64-Bit))
    $InstallDirX64 = @HomeDrive & "\Programme (x86)\XXXX\XXXX

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

    If @OSArch = "X86" Then
    $InstallDirX86 = $InstallDir
    ElseIf @OSArch = "X64" Then
    $InstallDirX64 = $InstallDir
    EndIf

    [/autoit]

    Oben sieht man das jeweils ein " fehlt, das sollte überprüft werden und dann ein Default-Wert genomen werde, im falle eines Fehlers

  • prüfe das doch einfach mit FileExist

    Spoiler anzeigen
    [autoit]

    ;Installationsordner für 32Bit-Systeme (Windows 2000, XP und Vista (32-Bit))
    $InstallDirX86 = @ProgramFilesDir & "\XXXX\XXXX
    ; Installationsordner für 64Bit-Systeme (XP und Vista (64-Bit))
    $InstallDirX64 = @HomeDrive & "\Programme (x86)\XXXX\XXXX

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

    If @OSArch = "X86" Then
    If Not FileExists($InstallDirX86) Then $InstallDirX86 = $DefaultInstallDirX86
    $InstallDirX86 = $InstallDir
    ElseIf @OSArch = "X64" Then
    If Not FileExists($InstallDirX64) Then $InstallDirX64 = $DefaultInstallDirX64
    $InstallDirX64 = $InstallDir
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...