Forum: Programmieren allgemein
Delphi
by Capa,
15. Feb 2011
Bin durch zufall selbst drauf gekommen.
Der Ordner muss mit übergeben werden wo er es ausführen soll
wenn ich also in der project1.exe beim starten der update.exe
den ordner wo die update.exe liegt mit übergebe dann funzt alles
genauso mach ichs wenn die update.exe die "Neue" Project1.exe aufruft
den ordner '..\' angeben und dann kann ich auch den temp ordner wieder
löschen.
den nur weil...
Forum: Programmieren allgemein
Delphi
by Capa,
15. Feb 2011
in der update.exe läuft eine schleife solange bis er die project1.exe löschen kann
hatte vorher eine isinuse abfrage drin aber dachte das klappt nicht und hab halt das
mit dem löschen eingebaut, aber das klappt ja genauso wenig ^^
Habs mit createprocess so gemacht
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
Forum: Programmieren allgemein
Delphi
by Capa,
15. Feb 2011
mhh die idee ansich ist nicht schlecht aber ich hab halt in meinem programm das updatefenster
schon eingebaut ^^ bzw soll es halt auch so funktionieren das nach nem update gesucht werden
kann wenn das programm schon läuft.
EDIT: Mir ist da gerade was aufgefallen!
wenn ich die project1.exe starte und dann den updateprocess ausführe spinnt die update.exe rum
weil halt nen parent gesetzt...
Forum: Programmieren allgemein
Delphi
by Capa,
14. Feb 2011
das hab ich ja versucht aber ein einfaches close oder terminate scheint nicht zu helfen
die project1.exe ist immernoch inuse und kann von der update.exe nicht überschrieben werden.
try
ShellExecute(0, nil, PChar(ExtractFilePath(paramstr(0))+'temp\update.exe'), nil, nil, SW_Normal);
except
ShowMessage('Update fehlgeschlagen!'+#10+#13+'Konnte...
Forum: Programmieren allgemein
Delphi
by Capa,
14. Feb 2011
Hi,
Wie kann ich Eine Datei starten und die hauptdatei schliessen OHNE das die
hauptdatei noch inuse ist. Habs mit Shellexecute versucht aber da tut er die
hauptdatei noch benutzen, den ich kann die datei nicht löschen.
Das ganze ist ein updateprogramm wo die project1.exe eine update.exe aufruft
die project2.exe die geladen wurde und im temp ordner liegt soll dann die
project1.exe...