3 Replies Latest reply on Jul 31, 2014 12:02 AM by derniwi

    Problem mit ClearRestartFlags

    erzwodezwo Expert
      Hallo,

      ich bin gerade an einer Software die einen Indigo Rose Installer verwendet. Dieser unterstützt keinen Parameter für NoReboot.
      Die Software zieht mir jedes mal die Maschine nach einer Installation bzw. Deinstallation unter den Füßen weg.
      Ich habe es jetzt geschafft mit folgendem Script den Reboot nach einer Installation oder Deinstallation in die Hände des Anwenders zu legen:

      Set('WMI_Name','0')
      WMISimpleQuery('\\.\root\cimv2','Win32_Process','Name=Explorer.exe','WMI_')
      Name
      EndProc/TS
      If not %WMI_Name%='Explorer.exe'
      InitiateSystemShutDown('10',issRebootAfterShutdown)

        EndProc/TS
      MsgBoxEx('Wegen einer Softwareinstallation muss ihr Computer neu gestartet werden, soll der Neustart jetzt durchgeführt werden?','RebootNow','',mbYesNo,'120','1')
      If %RebootNow%='Yes'
        InitiateSystemShutDown('10',issForceLogoff+issRebootAfterShutdown)
        
        EndProc/TS
      Else
        ClearRestartFlags


      Das funktioniert auch, allerdings habe ich noch eine Abfrage eingebaut wenn die Software an DSM 7 vorbei installiert wurde und bereits auf dem Rechner ist wenn der Installer per INSTALL versucht zu installieren. Und genau hier kann ich machen was ich will, nach einer deinstallation bootet der Rechner immer neu durch und setzt dann die Installation fort....

      ExecuteEx('"%InstallOrdner%\uninstall.exe" "/U:%InstallOrdner%\Uninstall\uninstall.xml" /s','RemoveOld','10')/?/TS
      ClearRestartFlags
      If not %RemoveOld%='0'
        ExitProcEx(Failed,'Während dem entfernen einer vorhandenen Version ist ein fehler aufetreten. CODE: (%RemoveOld%)')


      Hat jemand eine Idee warum bei der normalen Installation bzw. Deinstallation das ClearRestartFlags greift nicht aber hier?
      Einrückung stimmt....
      Ich habe ClearRestartFlags auch schon auf die verschiedenste weise geflaged....

      Danke und Gruß
      Torsten
        • 1. Re: Problem mit ClearRestartFlags
          _Mel_ Master
          ClearRestartFlags bricht keinen windows reboot ab, sondern löscht nur den internen status des installers, in dem der sich merkt, daß er noch einen restart ausführen muß.

          du könntest es mal mit "shutdown.exe -a" versuchen, aber je nachdem wo windows gerade beim runterfahren ist, hilft das nicht unbedingt.

          das problem ist, daß microsoft versucht hat windows benutzerfreundlicher zu machen, indem programmen nicht mehr erlaubt wird shutdowns abzubrechen, damit der benutzer seinen rechner immer herunterfahren kann - die folge ist, daß man nichtmehr verhindern kann, daß ein programm einem den rechner rebootet.
          • 2. Re: Problem mit ClearRestartFlags
            erzwodezwo Expert
            Ok das probier ich mal aus, aber ich glaube ich habe hier noch ein Restart Problem gefunden:

            Evaluating condition "not _WMI_Name_='Explorer.exe'"
            Comparing '0' with 'Explorer.exe'
            Condition TRUE  -> entering IF part

            Ich frage hier ab ob der Explorer läuft, die Explorer.exe lief 100%ig er erkennt es nicht und leitet einen reboot ein.....
            • 3. Re: Problem mit ClearRestartFlags
              derniwi Master
              Hallo,

              ich würde es auch mit dem "shutdown.exe -a" direkt nach der Installation versuchen.

              Alternativ mal die Firma anfragen, ob es eine Installation für Unternehmen gibt, denn auch andere Verteilungstools werden damit Probleme haben.

              Weiterhin: ja, auch ich habe hin und wieder mit den Reboot-Falgs Probleme.

              Ich verwende mittlerweile eine Logig, bei der ich einen Neustart in den Paketen einplane, wenn notwendig und evtl. auch ein EndInstallerSession. Nach der Installation läuft ein Job, der das Flag prüft und den Benutzer fragt, ob ein Neustart gewünscht ist. Ggfs. wird das Flag gelöscht. Aber leider wird der Job nicht immer ausgeführt, sondern nur in 95% aller Fälle... muss da nochmal weiter forschen, aber das ist halt nicht ganz einfach, weil das nicht reproduzierbar ist...

              Gruß
              Nils