Leider muss an dieser Stelle mitgeteilt werden, dass Wolfgang Reszel seine Arbeit an ac'tivAid beendet hat. Eine Entwicklerversion von ac'tivAid gibt es auf meiner Webseite. Gruß, Michael
Der Bugtracker wurde aus Sicherheitsgründen abgeschaltet, diese Website dient nur noch als statisches Archiv. |
||
Willkommen beim Bugtracker zu ac'tivAid. Ac'tivAid ist ein AutoHotkey-Skript, welches zuletzt in c't 12/08 ausführlich vorgestellt wurde. Wenn Sie in der stabilen Version einen Fehler finden, testen Sie bitte erst die aktuelle Beta-Version, bevor Sie den Fehler melden! Um evtl. schon hier behandelte und geschlossenen Themen mit der Suche zu finden, muss in der erweiterten Suche bei Status "Alle offenen Aufgaben" auf "Alle Status" umgestellt werden. |
Letzte stabile Version bei Heise.de: 1.3.1 Letzte beta Version 1.3.2 beta1 : activaid_beta.exe | portable_activaid_beta.exe Entwicklerversion von Michael Änderungen, Liesmich/Hilfe, FAQ und Themen-Special (bei www.heise.de) Digital Upgrade haben ein Video zu ac'tivAid 1.1.8.1 gedreht, wo ein paar Funktionen kurz angesprochen werden. |
FS#1011 - Alternatives Arbeitsverzeichnis: Probleme bei Aktualisierung und Admin-Modus
Angelegt Mark Gerber (Gerby) - Donnerstag, 12. Juli 2007 - 14:15
Zuletzt bearbeitet von Wolfgang Reszel (Tekl) - Freitag, 09. November 2007 - 05:07
|
BeschreibungHallo Wolfgang! Ich verwende beim Aufruf von ac’tivAid ein gesondertes Arbeitsverzeichnis, so dass sich ac’tivAid die Konfiguration von dort holt. Dabei arbeite ich mit einem eingeschränkten Benutzerkonto. ac’tivAid zeigt in meinen Fall an, dass es im Einzelbenutzer-Modus läuft. Leider ist es nun so, dass nach einem (automatischen) Update von ac’tivAid das Programm nicht mehr über jenes Arbeitsverzeichnis aufgerufen wird, sondern im Installationsverzeichnis. Demnach wird dann auf die zentrale (bei mir nicht angepasste) Konfiguration zugegriffen. Ein ähnliches Verhalten ergibt sich beim Wechsel in den Administrator-Modus. In diesem Fall wird die (nicht vorhandene) Konfiguration aus dem Benutzerverzeichnis (%APPDATA%) geladen, da ac’tivAid im Mehrbenutzer-Modus startet. Ist es möglich, dass ac’tivAid sich für die genannten Aktionen das aktuelle Arbeitsverzeichnis merkt und im Anschluss wieder die Konfiguration aus jenem lädt? Ansonsten muss ich ac’tivAid erst wieder beenden und dann über die von mir eingerichtete Verknüpfung starten. Weiterführend wäre es noch schöner, wenn ac’tivAid für den aktuellen Benutzeraccount einen ggf. angepassten Pfad zu den Konfigurationsdateien von Haus aus abspeichert, so dass die gesonderte Angabe eines Arbeitsverzeichnisses beim Aufruf hinfällig ist (siehe auch Eintrag 1009).
|
Freitag, 09. November 2007 - 05:07
Grund für Schließung: korrigiert
Ich habe es selber noch nicht getestet, aber in Beta 24 merkt sich ac'tivAid in einigen Fällen schon das letzte Arbeitsverzeichnis.
Bei der Update-Funktion bestehen leider immer noch Probleme mit der Verzeichnishandhabung (Beta 51):
- Klicken auf "Auf Aktualisierung prüfen", nach Rückfrage und Wechsel in den Administratormodus (Passwortdialog) erscheint ac'tivAid mit dem anderen Profil im Adminmodus, jedoch wird die Aktualisierung nicht durchgeführt. Sie muss nochmals gestartet werden. Das scheint wohl mit dem Wechsel des Profils zusammenzuhängen, oder?
- Beim Verlassen des Administratormodus trägt ac'tivAid in der Verknüpfung im Autostart-Ordner ohne Nachfrage für das Arbeitsverzeichnis den Standardpfad für den Mehrbenutzermodus ein. Das ist lästig, da meine Verknüpfung mit dem gesonderten Pfad (siehe oben) wieder neu angelegt werden muss.
Lade doch bitte mal Beta 55 manuell hier runter und installiere es bei dir drüber. Ich habe da leichte Anpassungen vorgenommen. Ändere nach der Installation und dem ersten Start von ac'tivAid Zeile 57 von ac'tivAid.ahk z. B. in ScriptVersion = 1.1.7 und lade es neu. Probiere danach mal die Update-Funktionen.
Danke! Nach dem Aufruf der Update-Funktion und dem anschließenden Wechsel in den Admin-Modus wird die Aktualisierung (bzw. das Herunterladen der neuen Version) nun automatisch fortgeführt.
Toll fände ich es, wenn nun noch der Admin-Modus nach dem Updatevorgang wieder automatisch verlassen wird, so dass ich mir den Aufruf des entsprechenden Menüpunktes ersparen kann. (Nein, ich bin überhaupt nicht anspruchsvoll...
)
Bitte wiederhole die die Schritte noch mal, ich habe Beta55 nochmals ersetzt. Getestet habe ich es aber noch nicht. Wenn du die Kennwörter nicht speicherst, wird's aber nicht automatisch klappen.
Das Update auf Beta 56 hat auf dem einen Rechner ebenso wie vorher (nach Deinen Anweisungen) funktioniert.
Schade, dass man die Kennwörter speichern muss, wovon ja eigentlich im Passwortdialog (implizit) abgeraten wird. Eigentlich wird ac'tivAid nach dem Update wieder in der aktuellen Benutzerumgebung gestartet, wozu wird dann noch ein (abgespeichertes) Passwort benötigt (Frage aus reiner Neugier)?
Noch was: Auf einem anderen Rechner habe ich Probleme mit dem Update (bin wie auf dem erstgenannten Rechner vorgangen). Die Passwörter werden nicht akzeptiert und wenn ich den Passwortdialog per "Abbrechen" beende, wird auch ac'tivAid beendet. Beim Neustart von ac'tivAid erscheint dann wieder der Passwortdialog. Aber das muss ich nochmal genauer untersuchen (wahrscheinlich erst am Wochenende), da dort bis Dato kein Passwort für den Benutzer aktiviert war (erst für das Update eingerichtet) und noch ein Registry-Einstellung eventuell geändert werden muss. Ich melde mich dann nochmal.
Das Problem ist, dass ac'tivAid wie MachMichAdmin die Benutzerrechte des aktuellen Benutzers kurz verändert. Dazu sind Admin-Rechte nötig. Eingeschränkte Nutzer dürfen ihre Rechte nicht ändern. Würde ich ac'tivAid einfach mit anderem Benutzer starten wäre das eben, als würde man sich mit einem anderen Account anmelden und ac'tivAid hat eine ganze andere Umgebung wie Registry und Systemvariablen.
Du musst die Kennwörter nicht speichern, es wird auch nicht empfohlen. Dann musst du aber sie aber immer eintippen.
Wie in der Hilfe beschrieben müssen die Benutzer Passwörter haben, sonst klappt der Wechsel nicht. Ist eine Einschränkung vom RunAs-Befehl.
Danke für die Ausführung. Anhand dieser und meiner Tests mit ac'tivAid komme ich zu dem Schluss, dass beim Updatevorgang bei mir etwas grundsätzlich noch nicht richtig läuft. Da ja der MachMichAdmin-Mechanismus zum tragen kommt, müsste der gesamte Updatevorgang (auch im Administrator-Modus) immer mit dem aktuellen Profil durchlaufen werden. Es ist nun aber so, dass nach dem Passwortdialog ein anderes Profil geladen wird. Und deswegen scheint der Ablauf mitunter durcheinander zu geraten.
Im manuell aufgerufenen Administrator-Modus (Menü activAid | ac'tivAid mit Administrator-Rechten starten) wird tatsächlich das aktuelle Profil geladen (bei mir "D:\ac'tivAid"). Also funktioniert der MachMichAdmin-Effekt hier schonmal.
Beim Update landet ac'tivAid im Admin-Modus jedoch in "C:\Programme\ac'tivAid". Das ist, denke ich, nicht gewollt, oder?
In Bezug auf das zuletzt Geschriebene: Ich bin kein großer Programmierer vor dem Herrn, aber kann es sein, dass in ac'tivAid.ahk (Beta 66) in der Update-Routine sub_NewVersion nach dem Herunterladen des Updates und vor dem Neuladen des Skripts eine Befehlszeile
fehlt (nach Zeile 6386, eventuell besser an anderer Stelle)? Dann müsste das Neuladen ja wieder im bisherigen Arbeitsverzeichnis geschehen. (Klappt hier jedoch nicht, da die Updatefunktion aus dem Internet wieder eine Skriptversion ohne diese Zeile lädt. Deswegen nur eine Vermutung ohne Überprüfung.)
Mensch, das könnte es wirklich sein. Ich habe mal eine neue Version hochgeladen, aber mangels Zeit nicht getestet.
In Beta68 funktioniert es leider immer noch nicht. ac'tivAid lädt nach dem Bestätigen zum Neuladen das Profil aus dem Programmverzeichnis (C:\Programme\ac'tivAid) statt aus dem ursprünglichen Arbeitsverzeichnis. Nach dem Verlassen des Administrator-Modus ist dann wieder die ursprüngliche Konfiguration aktiv.
OT: Eine Antwort auf einen Hinweis, den ich erst zwei Minuten später absende? Wow, Du musst ja wirklich in Zeitnot sein.
Evtl. klappt es jetzt. Falls nicht, probiere mal ac'tivAid.ahk anzupassen und setze ScriptVersion in Zeile 57 mal eine Version tiefer. Schaue, ob dann alles klappt.
Sorry, funktioniert immer noch nicht (auch nicht mit dem Trick der Versionsanpassung). Er landet direkt nach dem Neuladen immer im Programmverzeichnis.
Die neue (?) Abfrage, um den Administrator-Modus direkt wieder zu verlassen, funktioniert leider auch nicht. Wenn ich die Frage bejahe, landet er ebenso mit Administratoren-Rechten im Programmverzeichnis.
Irgendwo fehlt die Angabe des ursprünglichen Arbeitsverzeichnisses bzw. will ac'tivAid diese nicht annehmen, nur wo?
Super, Beta70 funktioniert, auch die Abfrage zum direkten Neuladen ohne Admin-Rechte. Da ist ja noch einiges an Code eingeflossen. Danke für die Arbeit!
Mit Beta 72 auch noch.
Bei Beta72 läuft der Updatevorgang wie bei Beta70, also gut.
Bei einem Versuch ist ein Fehler aufgetreten, da eine Datei (RemoveDrive.exe) nicht ersetzt werden konnte (das Programm lief noch, bedingt durch eine Fehlbedienung), dadurch ist der Update-Ablauf jedoch gegen Ende ziemlich durcheinandergekommen. Soll ich dazu nochmal eine extra Aufgabe anlegen?
Schildere mal genau, was du gemacht hast und was dann passiert ist. Wie hast du festgestellt, dass RemoveDrive.exe nicht ersetzt werden konnte?
Hier der Vorgang, so dass RemoveDrive noch läuft:
Da ich zum Zeitpunkt des Updates nicht wusste, dass RemoveDrive noch läuft, kam es dann zu folgendem Ablauf:
[Edit] Punkte in den Listen durch Zahlen ersetzt wegen der besseren Übersichtlichkeit.
Vielleicht noch der Nachtrag: Das Problem mit RemoveDrive sehe ich nicht so eng, zumal Du im entsprechenden Eject-Dialog ja auch auf Gefahren hinweist. Das soll hier eher als Beispiel für die Problematik mit der Update-Funktion dienen.
Stellt sich nun die Frage, ob das Problem nur bei deinen beschriebenen Konflikten auftritt. Du schreibt nach "Aktualisierung fehlgeschlagen ...", dass der Admin-Hinweis mit alter Versionsnummer erscheint. Hast du dazwischen ac'tivAid neu geladen? Da du eine neue Versionsnummer erwartet hast, gehe ich davon aus.
Wenn du Zeit hast, versuche das mal mit der neuen Beta zu reproduzieren. Die sollte mit einem Update-Fehler besser umgehen können. Obwohl – ich habe das Problem in Eject ebenfalls beseitigt (steht nicht im Changelog), ist nun also nicht mehr so leicht zu reproduzieren. Vielleicht startest du RemoveDrive manuell, so dass es hängt.
Nein, ich habe keinen manuellen Neustart vor Punkt 4 durchgeführt und auch sonst nicht.
Dass Dateien im ac'tivAid-Programmverzeichnis für den Zugriff gesperrt sind, wird wohl ziemlich selten auftreten. Außer jemand hat da ziemlich an den Zugriffsrechten rumgedreht. Aber im Großen und Ganzen sind das sicherlich Sonderfälle, die nicht unbedingt berücksichtigt werden müssen. Ich wollte halt nur mal darauf hinweisen, dass sowas passieren kann, weil es mir passiert ist.
Gerade getestet. Das Update hat geklappt. Kann es sein, dass ac'tivAid den RemoveDrive-Prozess einfach abschießt? Oder hat der RAR-Entpacker eine Funktion, laufende Prozesse zu ignorieren?
Nein, dann war RemoveDrive wohl nicht blockiert. Das einzige was ich geändert habe ist, dass ac'tivAid vor dem Entpacken ein Backup anlegt und dieses bei einem Entpackfehler wiederherstellt.
Ich habe in den Eject-Einstellungen für RemoveDrive einfach wirre Parameter angegeben, so dass RemoveDrive nicht beendet wird.
Das Verhalten beim Update bleibt wie oben bis zum Punkt 6 beschrieben gleich (auch die Trägheit), außer, dass die Passwortabfrage aus Punkt 6 nicht mehr erfolgt, sondern ac'tivAid tatsächlich die alte Version wieder im ursprünglichen Zustand lädt.