Norton SONAR SChutz

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Norton SONAR SChutz

Beitrag von Koverhage »

seit einem Update am Freitag letzter Woche, können Kunden bei denen der SONAR Schutz eingeschaltet ist,
die Xbase++ Anwendung nicht mehr ausführen, sofern diese auf dem Server liegt.
Entweder SONAR-Schutz ausschalten, oder exe auf ein lokales Laufwerk kopieren.
Das macht echt Freude, wenn dann ein Update eingespielt werden soll.
Es gibt zwar einen Punkt, bei dem man die Exe auf "jetzt vertrauen" setzen kann,
hilft aber nicht, da es wohl nicht geht, wenn die Anwendung auf dem Server liegt.

Hat jemand einen Tip, bitte nicht ein anderes Virenprogramm, das kann ich
dem Kunden wohl sagen, aber der fragt mich dann, warum es nur bei Xbase++
Anwendungen so ist.
Gruß
Klaus
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Re: Norton SONAR SChutz

Beitrag von andreas »

ich glaube irgendwas gelesen zu haben, dass wenn man die IP-Adresse des Servers unter IE-Einstellungen einträgt, dass es dann evtl. gehen sollte!
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Norton SONAR SChutz

Beitrag von brandelh »

Hallo Klaus,

eine lokale EXE die sich automatisch auf die neueste Version auf dem Server updated,
ist schneller und entlastet das Netzwerk. Wir haben das früher gemacht um in den
Außenstellen mit 128 KBit (2xISDN) überhaupt arbeiten zu können.
Der Schlüssel liegt darin die lokale EXE nicht direkt aufzurufen, sondern über eine Batch (heute CMD) zu starten,
Die EXE prüft die eigene Versionsnummer mit der auf dem Server (liegt in einer Datei),
jeweils einmal für die EXE und für die DLLs, damit man diese nicht unnötig lädt.
Die EXE meldet eine neue Version und beendet sich mit ERRORLEVEL (dort steht auch noch ein Beispiel):

Das ist (aus dem Gedächtnis) die steuernde CMD Datei z.B. Start.CMD

Code: Alles auswählen

@echo off
:NeuStart
cls
echo   "Programm wird gestartet ..."
MeinProgramm.EXE
REM ERRORLEVEL muss man immer mit >= lesen !
IF ERRORLEVEL 4 GOTO FEHLER
IF ERRORLEVEL 3 GOTO KopiereALLES
IF ERRORLEVEL 2 GOTO KopiereEXE
IF ERRORLEVEL 1 GOTO FehlerInXbaseProgramm
GOTO Ende
:KopiereALLES
del *.DLL /Q
del MeinProgramm.EXE
xcopy \\SERVER\UPDATE\MeinProgramm\*.* *.* /Y /B /H /R
IF ERRORLEVEL 1 GOTO FEHLER
GOTO NeuStart
:KopiereEXE
del MeinProgramm.EXE
xcopy \\SERVER\UPDATE\MeinProgramm\MeinProgramm.EXE *.* /Y /B /H /R 
IF ERRORLEVEL 1 GOTO FEHLER
GOTO NeuStart
:FehlerInXbaseProgramm
?????
:FEHLER
ECHO *** FEHLER ***
pause
:Ende
ECHO Xbase++ Anwendung ist beendet 
Meine Anwendungen haben in einer Variablen die Versionsnummer gespeichert (damals PUBLIC)

Code: Alles auswählen

proc main
    memvar  cVersEXE, cVersDLL
    public cVersEXE, cVersDLL
    cVersEXE  := "1.00"
    cVersDLL  := version()+"."+version(3) // wir brauchen auch den BUILD-Level
    ...
    do case
        case cVersDLL < alltrim(memoread("\\SERVER\UPDATE\MeinProgramm\VersionDLL.TXT"))
               msgbox("Auf dem Server liegt eine neue Version (DLL+EXE), der Update kann etwas dauern.")
               QUIT 3    // entspricht ErrorLevel(3) // alles kopieren
        case cVersExe < alltrim(memoread("\\SERVER\UPDATE\MeinProgramm\VersionEXE.TXT"))
               msgbox("Auf dem Server liegt eine neue Version (nur EXE), der Update kann etwas dauern.")
               QUIT 2    // entspricht ErrorLevel(2) // nur EXE kopieren
    end      // Programm ist aktuell ...
Gruß
Hubert
Antworten