![]() |
AW: Update vom eigenem Programm.exe
Zitat:
|
AW: Update vom eigenem Programm.exe
Zitat:
|
AW: Update vom eigenem Programm.exe
Zitat:
|
AW: Update vom eigenem Programm.exe
.. ist auch meine Erfahrung, umbennen und verschieben geht, löschen hingegegen nicht.
Grüße Klaus |
AW: Update vom eigenem Programm.exe
Danke. Ich werde es versuchen so anzugehen, wie HolgerX es vorgeschlagen hat. Das mit der Datei umbenennen ist mir nicht ganz geheuer.
Gruß, Luckner |
AW: Update vom eigenem Programm.exe
Zitat:
|
AW: Update vom eigenem Programm.exe
Über einen entfernten Rechner, der über die Freigabe darauf zugreift klappt das auch oft. Manchmal aber nicht, weil doch noch irgendein Zugriff da ist, der eigentlich nicht da sein sollte.
Wenn man das aber direkt an dem Rechner/Server macht, dann geht das häufig nicht. Habe ich leider schon oft erlebt. |
AW: Update vom eigenem Programm.exe
Hab das Ganze damals auch mal umgesetzt indem die Versionen abgeglichen wurden und die "neuste" Version welche ich immer in eine Txt die auf Dropbox lag aktualisiert hatte.
Habs jetzt unverändert gepostet Stand 2013
Delphi-Quellcode:
function CheckForUpdates(): string;
var HTTP: TIdHTTP; HTTPS: TIdSSLIOHandlerSocketOpenSSL; Answer: String; data: ISuperObject; sUURL, exe, bak, oldexe: String; lStream: TFileStream; begin HTTP := TIdHTTP.Create(); HTTPS := TIdSSLIOHandlerSocketOpenSSL.Create(); HTTP.IOHandler := HTTPS; try Answer := HTTP.Get('https://dl.dropboxusercontent.com/u/111435195/Update/updates.txt'); data := SO(Answer); if data.O['stable'].I['version'] > StrToInt(StringReplace(GetVersion, '.', '', [rfReplaceall])) then begin try UpdateForm.ProgressBar1.Position := 0; sUURL := data.O['stable'].S['url']; // Update URL UpdateForm.Label1.Caption := 'Please wait a second ...'; UpdateForm.ProgressBar1.Position := 5; oldexe := 'Checker' + '.exe'; UpdateForm.Show; Application.ProcessMessages; exe := ParamStr(0); bak := ChangeFileExt(EXE,'.BAK'); UpdateForm.ProgressBar1.Position := 25; RenameFile(exe,bak); UpdateForm.ProgressBar1.Position := 50; lStream:=TFileStream.Create(GetCurrentDir + '/' + oldexe, fmCreate or fmShareDenyNone); UpdateForm.ProgressBar1.Position :=75; HTTP.Get(sUUrl, lStream); UpdateForm.ProgressBar1.Position := 85; lStream.Free; ShellExecute(0, 'open', PWideChar(oldexe), nil, nil, SW_SHOWNORMAL); UpdateForm.ProgressBar1.Position := 100; Result := 'true'; FreeAndNil(HTTP); ExitProcess(0); except end; end else Result := 'false'; FreeAndNil(HTTP); except FreeAndNil(HTTP); Result := 'error'; end end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz