[gelöst] Auto Updater Vista UAC Problem
[gelöst] Auto Updater Vista UAC Problem
Hallo,
habe ein einfaches Programm welches sich selbst aktualisiert in dem es eine neue Version als Datei "update" in den Programm Ordner lädt und dann mit QProcess ein Updater Programm startet, welches nichts weiter macht als mit QFile die alte ausführbare Datei zu löschen und die "update" Datei umzubenennen.
Unter Vista passiert jedoch gar nichts. Die "update" Datei kann nicht in dem Programm Ordner erstellt werden und die Ausführbare Datei der alten Version kann von meinem Updater nicht gelöscht werden.
Leider habe ich kein Vista und weiß nicht wie ich dem Problem weiter nach gehen soll. Scheinbar ist es unter Vista nicht ohne weiteres möglich Dateien im Programm Verzeichnis zu verändern.
Mit Visual Studio ist es möglich mithilfe einer manifest Datei festzulegen das ein Programm Administrator Rechte benötigt.
Wie mache ich das mit qmake und MinGW?
Felix
habe ein einfaches Programm welches sich selbst aktualisiert in dem es eine neue Version als Datei "update" in den Programm Ordner lädt und dann mit QProcess ein Updater Programm startet, welches nichts weiter macht als mit QFile die alte ausführbare Datei zu löschen und die "update" Datei umzubenennen.
Unter Vista passiert jedoch gar nichts. Die "update" Datei kann nicht in dem Programm Ordner erstellt werden und die Ausführbare Datei der alten Version kann von meinem Updater nicht gelöscht werden.
Leider habe ich kein Vista und weiß nicht wie ich dem Problem weiter nach gehen soll. Scheinbar ist es unter Vista nicht ohne weiteres möglich Dateien im Programm Verzeichnis zu verändern.
Mit Visual Studio ist es möglich mithilfe einer manifest Datei festzulegen das ein Programm Administrator Rechte benötigt.
Wie mache ich das mit qmake und MinGW?
Felix
Zuletzt geändert von WeeZer am 18. Mai 2008 18:02, insgesamt 1-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich kenne mich mit manifest Dateien nicht aus. Habe das nur bei meiner Google Suche aufgeschnappt. Hier der link How To: Tell Vista's UAC What Privelege Level Your App Requires
Die UAC abzuschalten würde das Problem lösen. Allerdings kann und möchte ich nicht von allen Anwendern verlangen das machen zu müssen.
Habe keine Erfahrung mit Vista. Aber die UAC wird (hoffentlich) ihre Daseinsberechtigung haben. Grade weil es sich bei den Benutzern des Programms um eher unerfahrene Anwender handelt.
Die UAC abzuschalten würde das Problem lösen. Allerdings kann und möchte ich nicht von allen Anwendern verlangen das machen zu müssen.
Habe keine Erfahrung mit Vista. Aber die UAC wird (hoffentlich) ihre Daseinsberechtigung haben. Grade weil es sich bei den Benutzern des Programms um eher unerfahrene Anwender handelt.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wow - was die da alles zusammenwürfeln ... *grml*WeeZer hat geschrieben: Hier der link How To: Tell Vista's UAC What Privelege Level Your App Requires
Ich glaube aber nicht dass es einfach reicht dem Program das da mitzuteilen - was hätte das für einen Sinn? Naja egal. Schau mal auf sf.net/projects/mingw nach - imho war in der Mailingliste eine Diskussion darüber, bin mir aber nicht mehr ganz sicher.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Ich möchte mich mit meinem Halbwissen über Vista nicht zu weit aus dem Fenster lehnen, aber Programme werden mit eingeschränkten Rechten ausgeführt. Es ist nicht mal einfach so möglich Dateien in dem eigenen Programm Ordner abzulegen. Selbst wenn es nur eine harmlose Log Datei ist. Um das zu tun muss das Programm bei aktivierter UAC mit Administrator Rechten gestartet werden.
Genau darin läge dann der Sinn. Wenn mein Updater mit Admin Rechten gestartet wird erscheint eine Warnung der UAC und ich darf in meinem Programmverzeichnis beliebig Dateien runterladen und austauschen.
Genau darin läge dann der Sinn. Wenn mein Updater mit Admin Rechten gestartet wird erscheint eine Warnung der UAC und ich darf in meinem Programmverzeichnis beliebig Dateien runterladen und austauschen.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Naja, setzt jemand dieses Flag in seinem Programm kommt natürlich gleich eine weitere Meldung der UAC das ein Programm mit Administrator Rechten starten will.
Über was genau war in der Mailingliste eine Diskussion? Habe nichts dazu gefunden wie ich eine manifest Datei verwenden kann.
Hab gehofft das Problem könnte ich einfach mit ein paar Einträgen in meinem qmake Profile lösen. Naja, schade
Über was genau war in der Mailingliste eine Diskussion? Habe nichts dazu gefunden wie ich eine manifest Datei verwenden kann.
Hab gehofft das Problem könnte ich einfach mit ein paar Einträgen in meinem qmake Profile lösen. Naja, schade
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Als ob die Meldung jemanden stört 
Das ist das einzigste was ich gefunden habe: http://lists-archives.org/mingw-users/0 ... -file.html
Das ist das einzigste was ich gefunden habe: http://lists-archives.org/mingw-users/0 ... -file.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Auto Updater Vista UAC Problem
Ich weiß nicht ob das hilft, aber versuch mal nicht das Wort "update" zu verwenden. Unter Vista werden Programme blockiert bzw. mit einer Admin-Abfrage versehen, welche "update", "installer" o. ä. im Dateinamen haben. Lässt sich recht leicht prüfen indem du dein normales Programm in "updater.exe" umbenennst. (Das Problem hat übrigens auch das Spiel 'City of Heroes': der Launcher bei denen heißt cohupdater.exe, und wird dementsprechend von Vista geblockt, bzw kann nur vom Admin gestartet werden)WeeZer hat geschrieben:Hallo,
habe ein einfaches Programm welches sich selbst aktualisiert in dem es eine neue Version als Datei "update" in den Programm Ordner lädt und dann mit QProcess ein Updater Programm startet, welches nichts weiter macht als mit QFile die alte ausführbare Datei zu löschen und die "update" Datei umzubenennen.
Unter Vista passiert jedoch gar nichts. Die "update" Datei kann nicht in dem Programm Ordner erstellt werden und die Ausführbare Datei der alten Version kann von meinem Updater nicht gelöscht werden.
Leider habe ich kein Vista und weiß nicht wie ich dem Problem weiter nach gehen soll. Scheinbar ist es unter Vista nicht ohne weiteres möglich Dateien im Programm Verzeichnis zu verändern.
Mit Visual Studio ist es möglich mithilfe einer manifest Datei festzulegen das ein Programm Administrator Rechte benötigt.
Wie mache ich das mit qmake und MinGW?
Felix
Also probier mal das Update nicht "update", sondern "up_meinprog" oder halt irgendwas beliebiges zu Testzwecken zu nennen.
Re: Auto Updater Vista UAC Problem
Das war es, Problem gelöstpfid hat geschrieben: Ich weiß nicht ob das hilft, aber versuch mal nicht das Wort "update" zu verwenden. Unter Vista werden Programme blockiert bzw. mit einer Admin-Abfrage versehen, welche "update", "installer" o. ä. im Dateinamen haben. Lässt sich recht leicht prüfen indem du dein normales Programm in "updater.exe" umbenennst. (Das Problem hat übrigens auch das Spiel 'City of Heroes': der Launcher bei denen heißt cohupdater.exe, und wird dementsprechend von Vista geblockt, bzw kann nur vom Admin gestartet werden)
Also probier mal das Update nicht "update", sondern "up_meinprog" oder halt irgendwas beliebiges zu Testzwecken zu nennen.