Moin,
ich versuche gearde eine Update-Funktion in mein Tool zu basteln. Als Server für das Update, nutze ich die Website, die ich mit meinem 1&1 Zugang gestellt bekomme. Hier gibt es ja FTP. Leider kann ich die Datei nicht mit TIdHTTP herunterladen, daher muss ich auf FTP zurückgreifen (das ist leider ziemlich überdimensionert, jedoch kann ich TrvialFTP nicht nutzen, da es keine Anmeldung unterstützt und ich auch den Benutzername, sowie das Passwort nicht auf dem 1&1 FTP-Server rausnehmen kann). Bei 1&1 gibt es aber das Problem, das die Methode "Get", also eine Datei herunterladen eine UAC-Nachricht aufruft, die die Kommunikation unterdrückt, bis der Benutzer OK klickt und das Programm durch die Firewall zulässt. Das stellt ein Problem für mich da:
Das Programm updatet sich Nachts (Boot via BIOS, dann 1-3 Neustarts, weil Software installiert wird. Anschließen herunterfahren). Allerdings kann der User hier dann ja nicht die Abfrage bestätigen, wer sitz den schon um 3Uhr Nachts am PC?! Deshlab brauche ich eine andere Lösung, mir würde spontan eine einfallen, die hat aber einen Hacken:
Ich bastel eine Manifest-Datei mit an das Programm, so das es als Administartor ausgeführt wird. Allerdings wird der PC ja ausgemacht. Wenn die Anwendung startet, kommt ja wieder eine Abfrage. Und hat die Admin Abfarge überhaupt was mit der oben genannten Abfarge zu tun, oder kommt die dann trotzdem. Dann wäre diese Möglichkeit auch begraben.
Ansonsten könnte ich die UAC deaktivieren oder die Sicherheitsstufe niedriger setzten, das würde ich aber nur sehr ungern und nur als Notlösung machen.
One-Click Hoster würden sich auch anbieten, aber wie ist das mit den Wartezeiten und der Sicherheit?
Ich hoffe das lässt sich irgendwie lösen, vllt. habt ihr ja auch noch Ideen
Danke,
Lukas
[EDIT] Eine weitere möglichkeit wäre es mit Apache oder den Indy einen eigenen HTTPServer aufzusetzen, der das ganze als direktlink besitzt, um es via. TIdHttp1.Get() zu laden.