Internet aufbau mit devcon (x64) vermeiden

  • Hallo an Alle!

    Es geht um Folgenes wenn ich ein Programm Installiere und am Ende ich es Fertig Erstelle tut er eine Internet verbindung zum hersteller aufbauen. Das Ganze Habe ich mal Devcon mit Windows 7 32 bit hinbekommen wo ich noch die 32 bit version benutzt habe. Bei der 64 bit version geht es nicht hier mal das Skript was bei der 32 bit geht aber nicht auf der 64 bit version.

    Spoiler anzeigen
    [autoit]

    Global $networkadapter [1] [2]
    _GetNetworkadapter ()
    _enabdisabNWK ("disable")
    ;InsallationCode
    ;Beende Installation
    _enabdisabNWK ("enable")

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

    Func _enabdisabNWK ($aktion)
    For $x = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$x] [1] <> "" Then
    $strrun = @ScriptDir & "\devcon " & $aktion & " " & """" & $networkadapter [$x] [1] & """"
    RunWait ($strrun, "",@SW_HIDE)
    WinWaitActive("Klite","Fertig")

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

    EndIf
    Next
    EndFunc

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

    Func _GetNetworkadapter ()
    Local $crecords, $drecords, $result
    $strzeichen = "&"
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $result = StringInStr ($objitem.PNPDeviceID, "&")
    if $result > 0 Then
    $networkadapter [$x] [0] = $objitem.Name
    $crecords = StringSplit ($objitem.PNPDeviceID, "\")
    $drecords = StringSplit ($crecords [2], "&")
    $networkadapter [$x] [1] = "PCI\" & $drecords [1] & $strzeichen & $drecords [2] & $strzeichen & "*"
    $x += 1
    ReDim $networkadapter [$x + 1] [2]
    EndIf
    Next
    EndFunc

    [/autoit]


    Jetzt die frage ich habe mir denn Devcon 64 bit besorgt doch mit dem skript geht es überhaupt nicht. hat einer von euch das skript schon mal für die 64 bit version angepasst oder bekommt es angepasst. denn ich komme es ihrgendwie nicht hin. ;(


    Bitte dringend um Hilfe!

    MfG

    Baron

  • Hallo Baron,

    da kann ich mich nur anschließen, falls Du keine statische IP hast/benötigst, mach's wie Xenobiologist vorgeschlagen hat.

    Es gibt aber auch eine weniger pragmatische Lösung, indem Du Dir die passende devcon Version besorgst. Denn die 32-bit Version "..arbeitet auf 64-Bit Versionen von Windows nicht korrekt", sagt der Hersteller.
    Die 64-bit Version hat MS allerdings ein "wenig" versteckt und zwar im "Windows Driver Kit ", ist ein 620MB ISO-Image.
    Hast Du das Ding eingebunden, brauchst Du nur noch aus dem Archiv "WDK\setuptools_x64fre_cab001.cab" die Datei "_devcon.exe_00000" zu extrahieren und in "devcon.exe" umzubenennen.

    Sofern Du nicht mit administrativer Berechtigung arbeitest, setze lieber noch #RequireAdmin, devcon fragt nämlich nicht danach.

    Gruß
    Moctezuma III.

  • @Moctezuma III.

    Hi!

    Ich habe das Devcon64.exe von denn Link was du gesaft hast Runtergeladen, nun wie kann ich jetzt mit dem unten stehen Skript mit dem Devcon64 anpassen.


    Spoiler anzeigen
    [autoit]

    Global $networkadapter [1] [2]
    _GetNetworkadapter ()
    _enabdisabNWK ("disable")
    ;InsallationCode
    ;Beende Installation
    _enabdisabNWK ("enable")

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

    Func _enabdisabNWK ($aktion)
    For $x = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$x] [1] <> "" Then
    $strrun = @ScriptDir & "\devcon " & $aktion & " " & """" & $networkadapter [$x] [1] & """"
    RunWait ($strrun, "",@SW_HIDE)
    WinWaitActive("Klite","Fertig")

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

    EndIf
    Next
    EndFunc

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

    Func _GetNetworkadapter ()
    Local $crecords, $drecords, $result
    $strzeichen = "&"
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $result = StringInStr ($objitem.PNPDeviceID, "&")
    if $result > 0 Then
    $networkadapter [$x] [0] = $objitem.Name
    $crecords = StringSplit ($objitem.PNPDeviceID, "\")
    $drecords = StringSplit ($crecords [2], "&")
    $networkadapter [$x] [1] = "PCI\" & $drecords [1] & $strzeichen & $drecords [2] & $strzeichen & "*"
    $x += 1
    ReDim $networkadapter [$x + 1] [2]
    EndIf
    Next
    EndFunc

    [/autoit]

    Bei der 32 bit version konnte man es sehen wenn man diesen Skript ausgelöst hat man das gut gesehen das der Netzwerkicon im infotray ein rotes kreuz zu sehen ist und wieder an geht wenn ein bestimmtest text existiert.


    Bitte um Hilfe!

    Gruß Baron

  • Hi!

    Das müsste euch doch machtbar sein denn Devcon 32 bit skript auf dem Devcon 64 bit anzupassen. denn ich komme hier nicht weiter bei der 32 bit version geht es aber möchte ungern nur wegen das wieder auf der 32 bit version von win 7 zu wechseln.

    hier noch ein mal das Skript von der 32 bit version.

    Spoiler anzeigen
    [autoit]

    Global $networkadapter [1] [2]
    _GetNetworkadapter ()
    _enabdisabNWK ("disable")
    ;InsallationCode
    ;Beende Installation
    _enabdisabNWK ("enable")

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

    Func _enabdisabNWK ($aktion)
    For $x = 0 To UBound ($networkadapter) - 1
    If $networkadapter [$x] [1] <> "" Then
    $strrun = @ScriptDir & "\devcon " & $aktion & " " & """" & $networkadapter [$x] [1] & """"
    RunWait ($strrun, "",@SW_HIDE)
    WinWaitActive("Klite","Fertig")

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

    EndIf
    Next
    EndFunc

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

    Func _GetNetworkadapter ()
    Local $crecords, $drecords, $result
    $strzeichen = "&"
    $x = 0
    $strComputer = "Localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
    For $objItem In $colItems
    $result = StringInStr ($objitem.PNPDeviceID, "&")
    if $result > 0 Then
    $networkadapter [$x] [0] = $objitem.Name
    $crecords = StringSplit ($objitem.PNPDeviceID, "\")
    $drecords = StringSplit ($crecords [2], "&")
    $networkadapter [$x] [1] = "PCI\" & $drecords [1] & $strzeichen & $drecords [2] & $strzeichen & "*"
    $x += 1
    ReDim $networkadapter [$x + 1] [2]
    EndIf
    Next
    EndFunc

    [/autoit]


    Ich hoffe es gibt einen hier der das kann und selber eine 64 bit version hat um zu testen ob das Devcon 64 bit funkioniert mit dem Skript.


    MfG


    Baron

  • Man Baron, Du machst ja Alarm hier am WE, aber woll'n ma' nich' so sein. ;)

    Versuch's mal so:
    1. Sicherstellen, dass Du mit administrativer Berechtigung arbeitest:

    [autoit]

    #RequireAdmin

    [/autoit]

    2. "devcon.exe" starten, nicht einfach "devcon"

    [autoit]

    $strrun = @ScriptDir & "\devcon.exe " & $aktion & " " & """" & $networkadapter [$x] [1] & """"

    [/autoit]

    Möge die Ruhe mit Dir sein... :D

    Gruß
    Moctezuma III.