[Win]Internet-Updates für eure Programme

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

ts-soft hat geschrieben: PS: Die neue Kurzversion geht garnicht, wenn man ein eigenes WinCB hat.
Da passiert überhaupt nischt. Sollteste vielleicht mal drauf hinweisen.
Welche Kurzversion? Du meinst den zusätzlichen Helper?
Der geht nicht mehr, wenn man einen eigenen Callback benutzt?

Hmm... wieso das denn... muß erst mal wieder rauskriegen, was ich da gebastelt hab ;)
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 »

Hab den so wie im Beispiel eingebunden, also diese Kurzversion. Es passiert
rein garnichts :mrgreen:
In anderen Fenstern, die kein eigenes WinCallback haben gehts.
Da mußte ich erstmal hinter kommen, hab dann die alte Methode, wie im
erstem Example benutzt.
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
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Ich hab das jetzt mal ausprobiert, und es funktioniert auch einwandfrei.

Es kommt vermutlich auch drauf an was man in diesem Callback alles macht.
Aber der "little Helper" ist eh nur für faule Säcke gedacht, wenn man sowieso schon einen Callback hat, sollte man sinnigerweise das Geraffel dort auch reinbasteln.
Benutzeravatar
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Nach längerer Programmierabstinenz, hab ich mir das Teil nochmal vorgenommen.

Die Include hat nun ein Errorhandling bekommen.

Es funktioniert so, dass es:
1.) Im Normalfall alle Fehler in %APPDATA%\C4U\ErrorLog.txt loggt.
2.) Wer seinem Programm eine eigene Loganzeige spendieren will, muss eine Funktion haben, die wie folgt aufgebaut ist:

Code: Alles auswählen

ErrorHandler(ErrorNr)
Die Adresse dieser Funktion muss via CFU_InitErrorHandler() initialisiert werden, also:

Code: Alles auswählen

CFU_InitErrorHandler(@ErrorHandler())
Wann immer es einen Fehler gibt (falsche URL, URL nicht erreichbar...) wird diese Funktion aufgerufen. Die Variable "Error" kann man dann noch durch CFU_GetErrorMessage(Error) in lesbare Aussagen umändern.
3.) Wen Fehler nicht interessieren, setzt das hier vor das IncludeFile:

Code: Alles auswählen

#CFU_LOG_ERROR = #False
----------------------------

Dem Beispiel habe ich noch AutoUrlDetection hinzugefügt

Soll heissen, wenn eine URL in der Beschreibung vorkommt, kann man sie anklicken und der Standardbrowser öffnet sie.
So kann man nicht nur den "Link"-Button vergewaltigen (wie ts-soft :mrgreen: ), sondern noch zusätzliche Links in die Beschreibung packen.

Natürlich muss man dazu auch in seinem Client ein paar Erweiterungen hinzufügen.
Ich habe das nur im Beispiel des ersten Beitrags gemacht, weil man dazu in den Callback muß (eigentlich ist der Callback eh besser, vielleicht lösche ich den Littlehelper wieder).

Das Beispiel sieht übrigens größer aus als es ist.
Zum einfacheren Einbau ins eigene Programm habe ich in dem Source solche Markierungen verteilt:

Code: Alles auswählen

;-Integrate (Add new Events) 
Alle fangen mit ;-Integrate an und sind somit schön sichtbar in der rechten Prozedur-IDE-Leiste.

-----------------------------

Der UI-Creat0r wurde ziemlich überarbeitet

Vor allem das Description-Feld hat einige Gimmicks spendiert bekommen (zu sehen im neuen Kontextmenü), damit man da auch ohne Wordpad Kleinigkeiten ändern kann (oder auch ganz erstellen).

Es gibt einen Test-Button, mit dem man nach dem Upload gleich mal testen kann, wie das ganze dann beim User aussehen wird.

Neu ist auch, dass FTP-Betrieb optional ist.
Wenn man ihn deaktiviert, wird nichts hochgeladen und das Infofile an beliebiger Stelle aufm Rechner gespeichert.
Ich brauchte das fürs Geschäft, weil wir da mittlerweile SSL-AUTH-FTP-Verbindungen brauchen und die PB-Lib das nicht kann.
Ich muss also erst die Infodatei erstellen, und sie dann mittels eines professionelleren FTP-Client hochladen.

Nun ja, das wars erst mal
viel Spass.
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 »

:allright:
Werde es gleich mal testen, leider hab ich wieder das alte Problem :mrgreen:
UAC poppt auf, hab die Eigenschaften bereits geändert, er hört nicht und will
Admin sprechen. Warum nicht einfach ein zip in den Tempordner, dann gibts
diese Probleme nicht, es sei denn der Name ist auch noch "blöd" gewählt :mrgreen:

Gruß

Thomas
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
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

ts-soft hat geschrieben:Warum nicht einfach ein zip in den Tempordner, dann gibts
diese Probleme nicht, es sei denn der Name ist auch noch "blöd" gewählt
Weil es eine patch.exe ist, die selbständig das Programm aktualisiert.
Das geht nunmal nur mit Adminrechten.
Das wirst du ja einmal abnicken können?

Ich persönlich mag Updates, die selbständig arbeiten lieber, als zip-Files, wo ich dann erst mal das Hauptprogramm beenden muss, den Pfad zum Hauptprogramm suchen muss, entpacken muss...

Aber bei dir ist es anders, ich weiss ;)


[Edit]
Oder hat das Update geklappt und der Creat0r nervt dich nu?
Zuletzt geändert von HeX0R am 01.06.2010 21:49, insgesamt 1-mal geändert.
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 »

HeX0R hat geschrieben:[Edit]
Oder hat das Update geklappt und der Creat0r nervt dich nu?
Sonst hätte ich das nicht geschrieben :lol:
Schnell mal zip testen, danke

// edit
Das bringt leider keine Änderungen :(
Was ist denn da jetzt passiert, das er wieder nervt?
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
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Ich habe da eine abenteuerliche Idee, lade das zip mal nochmal (denk an den Cache)

Aber eine Frage:
Macht "User Mode anfordern" eigentlich Sinn, oder eher nicht?
Verstehe den Sinn dahinter nicht ganz.
(und nein, das habe ich noch nicht gemacht)
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 »

HeX0R hat geschrieben:Ich habe da eine abenteuerliche Idee, lade das zip mal nochmal (denk an den Cache)
Soweit war ich gerade :mrgreen:
Hab die Versionsinfo mit dem ResHacker entfernt :lol:

Danke

// edit
> Macht "User Mode anfordern" eigentlich Sinn, oder eher nicht?
Bei meinem Commander schon. Wenn ich Regedit vom Commander starte
kommt UAC, ansonsten käme nichts oder ich hätte RunAs nehmen müssen.

Ist schon empfehlenswert, weil sonst bekommt man es nicht mit, wenn man
in virtuelle Verzeichnisse gelenkt wird, damit man schreiben darf.
Aber wenn Du das anmachst, sollteste die Anwendung auch unter Vista
testen.
Zuletzt geändert von ts-soft am 22.05.2009 01:41, insgesamt 1-mal geändert.
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
HeX0R
Beiträge: 2958
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Yo, Vista mag das Wort "Update" offensichtlich nirgends ;)

Aber so hast mal wieder ein wenig Abwechslung gehabt
Antworten