Kay
Ich wüste nicht, wie... Außer: SuRun müsste Symbole unterstützen. Aber da wäre Anderes zunächst wichtiger.
Die Kontextmenüerweiterung installiert sich in HKCR,Directory\Background, das ist aber der Schlüssel für den Hintergrund aller Ordner.
robert
Hallo Kay,
Hat es in Version 1.2.1.0 rc1 noch weitere evtl. auch nur kleine Änderungen außer den genannten gegeben? Seit ich nämlich auf diese Version umgestiegen bin, funktioniert bei mir kein einziger "automagischer" Start mehr... Ich kann zwar jede Anwendung explizit über "Neustart als Administrator" doch noch mit erweiterten Rechten versehen, aber automatisch funktioniert das nicht mehr (was besonders bei Anwendungen im Autostart stört). Darüberhinaus hat sich an der Konfiguration meines Systems (XP Prof, SP3) nichts geändert...
Irgendwas ist da anscheinend zwischen 1.2.1.0 ß10 und rc1 kaputtgegangen! :huh:
Kay
SuRun 1.2.1.0 rc1 - 2011-12-14
* NEU: Befehl "SuRun: Papierkorb leeren" im Kontext-Menü des Papierkorbs. ("SuRun /EmptyRecycleBin" geht auch)
* FIX: Zwei oder mehr Leerzeichen zwischen SuRun-Kommandozeilen-Optionen und dem auszuführenden Programm haben SuRun sofort beedet (z.B.: "SuRun /wait cmd")
Kay
SuRun 1.2.1.0 rc2 - 2011-12-16
* FIX: Das neue "/EmptyRecycleBin"-Kommando hat SuRun teilweise außer Kraft gesetzt
* NEW: In Vista++ zeigt SuRun in den Menüeintragen das LUA-Schild-Symbol an
Das Symbol hat mich ganz schön Nerven gekostet.
Es gibt zwar Windows API-Funktionen, die das laden können, aber entweder verursachen die in (Hooks in) x86 Anwendungen Schutzverletzungen oder das Symbol wird in der falschen Größe bzw. mit der falschen Farbtiefe geladen, muss konvertiert werden und sieht unschön aus.
Ich habe mich für Letzteres entschieden.
Dabei geht es nur um die dynamisch generierten System- und Kontextmenü Einträge (Systemsteuerung als Admin, Explorer hier als Admin, Neustart als Admin etc.).
In den statischen Einträgen ("Starte als Administrator" und Freunde) wird das Icon per Registry-Eintrag erzeugt. Das geht zwar nicht unter Windows Vista, aber ich hoffe, dass das eh' keiner mehr benutzt.
Was haltet Ihr von dem Symbol? Drin lassen, oder weg? (Konfigurierbar schaffe ich nicht mehr bis Weihnachten)
step
Hello Kay, I noticed a small issue with SuRun 1.2.1.0 Beta 10 vom 17.10.2011.
When I run this command line
"C:\Windows\SuRun.exe" /wait "E:\path\PROG.EXE"
SuRun doesn't do anything. Upon closer inspection you may notice that there are 2 spaces between /wait and "E:..." and that's the root cause. If I delete a space and leave only one space between /wait and "E:..." then SuRun starts PROG.EXE as expected.
I love SuRun, thank you for it!
Kay
Hi Step.
Thanks for reporting the Bug.
I'll fix it for 1210rc1.
Kay
Mal wieder ein Update:
SuRun 1.2.1.0 Beta 10 vom 17.10.2011
* FIX: SuRun hat in Windows x64 wegen ASLR nicht immer funktioniert (Lockup von "SuRun /TESTAA ...")
* CHG: Portugiesische Sprache von "the.magic.silver.bullet", Danke!
poiuz
Nabend, Beta10 läuft bei mir seit wenigen Minuten fehlerfrei :).
Keine Angst, ich melde mich das nächste mal nur wenn etwas nicht läuft.
Allerdings habe ich da noch eine Frage:
Da es keine Einstellung für die Einblendedauer des Benachrichtigungsfensters für Programme mit automagisch erhöhten Rechten gibt, wollte ich SuRun dazu selbst kompilieren.
In welcher Quelldatei kann ich die 20 Sekunden ändern?
Kay
In Servive.cpp, Zeile 1570:
[indent]ShowTrayWarning(CBigResStr(IDS_STARTED,BeautifyCmdLine(g_RunData.cmdLine)),IDI_SHIELD,20000);[/indent]
mik-c-os
wolltest die einstellung in die GUI editierbar machen...
Kay
Ja. ...will ich noch, pro Programm und/oder Benutzer.
mik-c-os
pro benutzer sollte reichen... pro programm währe etwas sinnlos, besonnders wenn man eine lange liste hat...
Kay
Das soll eine "vererbte" Eigenschaft werden.
TimeOut=ProgTimeout(p,default=UserTimeout(u,default=GruppenTimeOut(g, default=GlobalTimeOut(default = 20s)))
So, wie vieles Andere soll Vererbbarkeit in SuRun rein. So kann man, muss man aber nicht alles einstellen.
Das ist "relativ einfach" programmierbar, erfordert aber ein anderes Grundmodell, als es in SuRun verwendet wird.
Kay
Danke für die schnellen Rückmeldungen :-)
Stimmt: Dasselbe Symbol, wie UAC zu verwenden ist keine sooo gute Idee.
Habe ein eigenes Schildchen gebastelt:
SuRun 1.2.1.0rc3 vom 18.12.2011
* CHG: Eigenes Schild-Symbol für Kontextmenüs unter Windows 7
mik-c-os
kannst du mir bitte den regestry eintrag samt schid posten,
ih tu ja immer meine einträge erhalten :P
Kay
Das Icon ist in SuRun.exe und SuRunExt.dll, ich verwende in den statischen Kontextmenü-Einträgen das in SuRunExt.dll: "Icon",REG_SZ,"SuRunExt.dll,1"
Kay
Ich habe mich dazu durch gerungen, geänderte Funktionalität in RC4 zu bringen.
Die Funktion "Ersetze Windows 'Ausführen als...' durch SuRuns 'Ausführen als...'" hatte schon immer Nebenwirkungen.
Durch SuRun wurden alle Einträge in der Registry mit "runas"-Verben durch RunAsSurun ersetzt.
Dadurch konnte ein Programm nicht mehr ShellExecute mit einem runas-Verb ausführen.
Deshalb habe ich das verändert.
Windows vor Vista:
Alle "runas"-Einträge in der Registry werden ausgeblendet gekennzeichnet ("LegacyDisable")
SuRun legt neue RuAsSuRun-Einträge an und übernimmt das "Extended"-Attribut (nur mit gedrückter Umschalt-Taste anzeigen)
Alle "Ausführen als" Einträge werden also ersetzt, die Sichtbarkeit bleibt erhalten und die originale ShellExecute-Funktion bleibt unverändert.
Windows ab Vista:
"runas" ist das Verb für "Als Administrator ausführen", "runasuser" ist das Verb für "Als anderer Benutzer ausführen".
SuRun ersetzt alle "runasuser", wie die "runas" unter "Windows vor Vista".
Zusätzlich werden alle runas-Einträge ausgeblendet ("LegacyDisable")
Ist im Zweig eines "runas"-Eintrags kein "SuRun"-Eintrag vorhanden, legt SuRun den an.
So werden alle "als Administrator ausführen" der Benutzerkontensteuerung durch SuRun's "Starte als Adminitrator" ersetzt, die ShellExecute-"runas"-Funktion bleibt aber intakt.
Ich bin mir nicht sicher, ob es gut ist, die UAC-Einträge zusammen mit RunAs zu ersetzen, oder ob eine extra-Option besser wäre.
SuRun 1.2.1.0rc4 vom 21.12.2011
* CHG: "Ersetze Windows 'Ausführen als...' durch SuRuns 'Ausführen als...'" handhabt jetzt auch "runasuser"
cosmo
Hallo Kay,
die gute Nachricht lautet: Ausführen als ... funktioniert mit RC4 wie gewohnt.
Die schlechte Nachricht: Ich stehe auf dem Schlauch, was wird wo mit gedrückter Umschalttaste sichtbar?
Kay wrote:SuRun legt neue RuAsSuRun-Einträge an und übernimmt das "Extended"-Attribut (nur mit gedrückter Umschalt-Taste anzeigen)
Mir ist jedenfalls keine Möglichkeit mehr eingefallen, wo man die Umschalttaste drücken könnte und gesehen habe ich nirgendwo etwas, was ich nicht schon seit Jahren kenne.
Kay
Danke für den Schnelltest! :-)
Wenn ein Kontext-Menü-Eintrag das Attribut "Extended" trägt, wird der Eintrag nur dargestellt, wenn man Shift-Rechtsklick macht. (z.B. HKEY_CLASSES_ROOT\exefile\shell\runas,"Extended",REG_SZ,"")
Unter XP ist das IMHO standardmäßig unbenutzt.
Unter Win2k was das bei "Ausführen als" ("runas") aktiv, unter Windows 7 ("runasuser") ist es das auch.
Kay
Hier noch ein Bugfix für einen
Fehler, der seit Version 1.0 in SuRun ist, aber nicht zu Attacken genutzt werden kann.
SuRun 1.2.1.0rc5 vom 22.12.2011
* FIX: Kommandozeilen mit mehr als 4k Länge haben eine Schutzverletzung im SuRun Client und in den Hooks verursacht.
SuRun benutzt zur Client-Service-Kommunikation eine Datenstruktur fester Größe, um wenig angreifbar zu sein.
Das Dumme dabei ist, dass sehr lange Kommandozeilen da nicht rein passen.
Ich habe als schnelle Abhilfe SuRun so verändert, dass es Kommandozeilen >4k ignoriert und sich beendet.
Wenn ich das Ganze vernünftig handhaben will, muss ich die Client-Service-Kommunikation und fast die gesamte Struktur darunter ändern... das wird dieses Jahr nix mehr ;-)
(Zum Glück gibt es sehr selten solch lange Kommandozeilen, sonst wäre das schon früher aufgefallen.)