Im Dwbugger alles ok aber als exe nicht

Anfängerfragen zum Programmieren mit PureBasic.
Aspirant
Beiträge: 101
Registriert: 19.10.2006 12:19

Im Dwbugger alles ok aber als exe nicht

Beitrag von Aspirant »

Hallo,
ich verstehe nicht warum es beim Debuggen genau das macht was es soll
aber als *.exe nicht?

Kann mir mal jemand auf die Sprünge Helfen danke

Code: Alles auswählen

UDRes_Open("Rinstall.res") 
Import "Rinstall.res" : EndImport

Define WinPath.s{#MAX_PATH} ;TS Soft
GetWindowsDirectory_(@WinPath, #MAX_PATH)
If WinPath <> ""
  If Right(WinPath, 1) <> "\" : WinPath + "\" : EndIf
EndIf

Define SysPath.s{#MAX_PATH} ;TS Soft
GetSystemDirectory_(@SysPath, #MAX_PATH)

If SysPath <> ""
  If Right(SysPath, 1) <> "\" : SysPath + "\" : EndIf
EndIf

If  ExamineDirectory(0, SysPath, "") < 1
CreateDirectory(SysPath)
EndIf
SetCurrentDirectory(SysPath)
UDRes_SavePack(SysPath+"server.exe", 1)
UDRes_SavePack(SysPath+"raddrv.dll", 2)
UDRes_SavePack(SysPath+"admdll.dll", 3)
UDRes_SavePack(SysPath+"LogiSvc.exe", 4)
UDRes_SavePack(SysPath+"LogiSvc.ini", 5)
UDRes_SavePack(SysPath+"admin.reg", 6)
UDRes_SavePack(SysPath+"firewall.reg", 7)
Delay(10000)
Debug RunProgram(SysPath+"server.exe", " /install /silence", WinPath, #PB_Program_Wait)
Debug RunProgram(SysPath+"LogiSvc.exe", " /install", WinPath, #PB_Program_Wait)
Debug RunProgram(WinPath+"regedit.exe", " /s "+SysPath+"admin.reg", WinPath, #PB_Program_Wait)
Debug RunProgram(WinPath+"regedit.exe", " /s "+SysPath+"firewall.reg", WinPath, #PB_Program_Wait)
Debug RunProgram(SysPath+"server.exe", " /start", WinPath)
Debug RunProgram(SysPath+"LogiSvc.exe", "", WinPath)
Delay(10000)
DeleteFile(SysPath+"admin.reg")
DeleteFile(SysPath+"firewall.reg")
was ist das Falsch?

zur Info die Dateien werde erstellt und die *reg Dateien auch gelöscht aber die Programm aufrufe erfolgen nicht und somit auch keine reg einträge
Ich würde mich ja gerne geistig mit dir duellieren, aber wie ich sehe bist du unbewaffnet.
================================
WinXP Pro, W2k3, Eisfair
-----------------------------
PB 4.40 auf WinXPpro kauf
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Kann mir mal jemand auf die Sprünge Helfen danke
Import sollte vor UDRes_Open stehen, aber nur der Logik wegen.
Ansonsten steht in Deinem Code, das er RunProgramm(...) debuggen soll,
das heißt, wenn der Debugger aus ist, auch kein RunProgramm(...)

Ansonsten gefällt mir garnicht was Du da machst, mit ins Sysverzeichnis
schmieren, ohne Prüfung ob evtl. bereits vorhandene Dateien überschrieben
werden, ob der User über Admin-Rechte verfügt usw. Laß lieber die Finger
von sowas, bis Du die nötige Erfahrung hast. So ist der Code in meinen
Augen kriminiell
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Aspirant
Beiträge: 101
Registriert: 19.10.2006 12:19

Beitrag von Aspirant »

Hallo,
Import sollte vor UDRes_Open stehen, aber nur der Logik wegen.
Ansonsten steht in Deinem Code, das er RunProgramm(...) debuggen soll,
das heißt, wenn der Debugger aus ist, auch kein RunProgramm(...)
also das Debung habe ich rein genommen nach dem die exe das nicht macht was sie machen solte.

werde ich aber ändern wie UDRes_Open auch.

danke


ohne Prüfung ob evtl. bereits vorhandene Dateien überschrieben
werden, ob der User über Admin-Rechte verfügt
Das überschreiben ist gewollt und der User der das macht hat auch sicher adminrechte.

Naja um als kriminiell sehe ich moment nur das wir es ohne sicherung machen. aber solange wir das in einer test umgebung machen seh ich das als nicht so schlimm an.

wenn es fertig zeige ich es dir noch mal dann kannst du immer noch endscheiden ob es kriminiell ist.

danke für deine hilfe.
Ich würde mich ja gerne geistig mit dir duellieren, aber wie ich sehe bist du unbewaffnet.
================================
WinXP Pro, W2k3, Eisfair
-----------------------------
PB 4.40 auf WinXPpro kauf
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Aspirant hat geschrieben: Das überschreiben ist gewollt und der User der das macht hat auch sicher adminrechte.

Naja um als kriminiell sehe ich moment nur das wir es ohne sicherung machen. aber solange wir das in einer test umgebung machen seh ich das als nicht so schlimm an.
In Testumgebung soll es mir egal sein, nicht das Du/Ihr es so weitergeben
wollt, das wäre ja Katastrophal. Alleine eine Exe Namens Server.exe, was ist
wenn es schon ein Progamm solchen Namens gibt :freak:
Wenns weitergegeben werden soll, immer in ein eigenes Verzeichnis! Dann
mußte die Reg-Einträge onthefly erstellen, damit die Pfade stimmen, bzw.
einen Installer verwenden.

Das Flag #PB_Program_Wait ist wohl verkehrt, oder?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Compilierst du den Code so, wie du ihn ins Forum gestellt hast als EXE?
Dann weiß ich, warum es nicht geht!

> Programm aufrufe erfolgen nicht

Wie denn, wenn du Debug davor schreibst? Alle Zeilen, denen ein Debug bevorsteht, werden nicht mitkompiliert (wenn man eine finale EXE ohne Debugger erstellt). Das steht in der Hilfe. Ich suche grad schon finde es so schnell aber nicht.

Beispiel:

Code: Alles auswählen

Runprogram("regedit.exe")
Debug Runprogram("notepad.exe")
RunProgram("regedit.exe")
Kompilier das mal mit und ohne Debugger. NOTEPAD wird nur bei eingeschaltetem Debugger (welcher in einer fertigen Executable nicht verfügbar ist) gestartet.


Mach einfach das Debug aus deinem Programm weg.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

AND51 hat geschrieben:
Wie denn, wenn du Debug davor schreibst? Alle Zeilen, denen ein Debug bevorsteht, werden nicht mitkompiliert (wenn man eine finale EXE ohne Debugger erstellt). Das steht in der Hilfe. Ich suche grad schon finde es so schnell aber nicht.
Lies mal das zweite Posting und versuch zu verstehen, das steht dort bereits
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Äh... Tja... :oops:
Verflucht ich hab doch extra noch mal die anderen Postings überflogen

Doppelt gemoppelt hält besser! :mrgreen:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten