Installationen im Hintergrund durchführen lassen

  • Hallo liebe Community,

    ich erstelle mir seit längerem automatisierte Programminstallationen mit AutoiT. Das klappt auch alles hervorragend doch nun würde ich gerne diese Installationen im Hintergrund ausführen lassen.
    Normalerweise rufen meine Scripte ja die EXEn der Programme auf und die Installation wird dann auf dem Desktop angezeigt. Nun hätte ich aber gerne, dass dies nicht mehr angezeigt wird, sondern die Installation im Hintergrund geschieht.

    Gibts da einen Befehl damit ich das mit AutoiT realisieren kann ?

    Ich danke für eure Hilfe.

    Gruß beatmaster

  • Hi Bitboy,

    ich gehe davon aus du meins Silentswitches wie z.b. /S, /NORESTART, etc.
    Jedoch gibts nicht für jedes Programm einen solchen oder ist so leicht zu finden. Für normale Nullsoft Installer ist das nicht das Problem. Aber ich möchte dies auch mit AutoiT realisieren bei dem Programmen wo ich keinen Silent Schalter finde.

    Gruß beatmaster

  • Wenn es dir nur darum geht das du die Installation nicht siehst dann wär das einfachste ein Screenshot vom Desktop zu machen und während der Installation darüber zu legen.
    Als Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    $hHide = _StartHiddenMode()

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

    ;Dein InstallSkript

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

    _StopHiddenMode($hHide)

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

    Func _StartHiddenMode()
    Local $hGUI, $hBMP, $hGraphic, $hBackground

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

    $hBMP = _ScreenCapture_Capture()

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

    $hGUI = GUICreate("ScreenShot", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP,$WS_EX_TOPMOST)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    _GDIPlus_GraphicsDrawImage ($hGraphic, $hBitmap, 0, 0)

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

    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_ImageDispose ($hBitmap)
    _WinAPI_DeleteObject ($hBMP)
    _GDIPlus_ShutDown ()

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

    Return $hGUI
    EndFunc ;==>_StartHiddenMode

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

    Func _StopHiddenMode($hGUI)
    GUIDelete($hGUI)
    EndFunc

    [/autoit]


    Ansonsten müsste man halt testen in wie weit die entsprechenden Funktionen wie ControlClick, WinWait etc. noch funktionieren wenn die Setups per @SW_HIDE oder @SW_MINIMIZE aufgerufen werden.

    Einmal editiert, zuletzt von AspirinJunkie (10. August 2010 um 21:55)

  • Stand auch schon vor dem Problem, daher hab ich die Silent-Parameter vorgeschlagen.

    @sw_Hide und ähnliches funktioniert nur bedingt. Hatte das damals bei ultravnc ausprobiert.
    Da rief das setup wohl eine neue exe auf die dann nicht mehr unsichtbar war. Hat man das neue fenster
    mit winsetstate unsichtbar gemacht funktionierten Befehle wie controlclick nicht mehr.

    Sind die programme nicht allzu umfangreich kannst du versuchen das setup nachzubauen.
    Das heißt mit einem geeigneten Programm (zb Winstall) die Änderungen am System aufzeichnen
    und in AutoIt nachprogrammieren.

  • Installationen die mit AutoIt erstellt werden, basieren doch auf GUI ereignissen. Meines wissens geht das nicht, das in Form einer Sandbox zu packen und ausführen zu lassen.

  • Sry, die Software heißt trackwinstall.

    Ein Setup kopiert/entpackt nur dateien und erstellt oder ändert registryeinträge.
    Das kann man mit Fileinstall, Regwrite usw nachbauen. dazu ist keine gui erforderlich.
    Ist eben aufwendig und macht nur bei kleinen setups mit wenig dateien und reg-einträgen sinn

  • hallo zusammmen,

    stand auch schon vor dem problem, dass ich ein gui tool hatte, was keinen silent unterstützt ...
    dies wurde dann mit der softwareverteilung Altiris ausgerollt ...
    es musste nur der autologin in der registry gesetzt werden ...

    und dann funktionierte das setup mit grafischer oberfläche ...

    ach ja, weil hier gerade einer ultravnc erwähnt hat!
    setup config file erstellen -->
    - download UltraVNCSetup.exe
    - run the exe with the command "UltraVNC-101-Setup.exe /saveinf=c:\someconfigfile.inf" , this will save the main config file to a path of your choosing.
    - go through the setup changing config settings to how you want it installed (language, program path, etc).

    setup dann mit--> " UltraVNC_1.0.8.2_Setup.exe /verysilent /loadinf=d:\UltraVNC_Viewer_config.inf" aufrufen
    in der inf stehen die setup parameter ..
    -------- inf datei -------
    [Setup]
    Lang=de
    Dir=C:\Programme\UltraVNC
    Group=UltraVNC
    NoIcons=0
    SetupType=viewer
    Components=ultravnc_viewer
    Tasks=desktopicon,associate


    gruß gmmg

  • So hatte ich das UltraVNC-Setup auch gemacht.
    War afaik die Version 1.0.8.0. Da gab es einen Bug im Setup.
    Es wurde nämlich versucht updates oder ein zusätzlicher Treiber runterzuladen.
    Und dieses Fenster ging trotzdem auf. Und das Problem war auch nicht in den Griff zu bekommen.