Hallo zusammen,
ich habe die Ursache gefunden und das Problem bei mir dauerhaft gelöst – ohne UAC-Abschaltung und ohne Neuinstallation.
Ursache
Bei den betroffenen Programmdateien wurden die Dateirechte umgeschrieben. Sie enthielten nur noch "Administratoren" und "SYSTEM", die Gruppe "Benutzer" fehlte komplett. Die Ordner darüber waren dagegen korrekt.
Mit aktiver UAC laufen Programme ohne die Administratoren-Gruppe – also ohne jeden Zugriff auf die Datei. Deshalb funktioniert es mit UAC auf "Nie benachrichtigen" oder im Admin-Konto.
So prüft ihr es (Eingabeaufforderung als Administrator):
Code:
icacls "C:\Program Files\Programmordner\programm.exe"
Fehlt in der Ausgabe "VORDEFINIERT\Benutzer", seid ihr betroffen.
Verursacher
Nicht bewiesen, da ich Avira schon deinstalliert hatte und die Protokolle weg sind. Das Muster spricht aber für einen Virenscanner: Die Rechte sehen aus wie bei Dateien, die in einen geschützten Ordner verschoben und wieder zurückgelegt wurden, und betroffen waren bei mir vor allem Programme, die tatsächlich gestartet wurden (inkl. Treiber-Tools und Dienste). Passt zu den vielen Avira-Nutzern hier im Thread.
Lösung
Alles in einer Eingabeaufforderung als Administrator.
1. Sicherung der aktuellen Rechte (dauert etwas; die Anzeige "0 Dateien verarbeitet" ist eine Macke von icacls – Dateigröße prüfen, bei mir 20-30 MB):
Code:
icacls "C:\Program Files" /save C:\acl_programfiles.txt /T /C /Q
icacls "C:\Program Files (x86)" /save C:\acl_programfiles_x86.txt /T /C /Q
2. Test an einem einzelnen Programm:
Code:
icacls "C:\Program Files\7-Zip" /reset /T /C /Q
Danach das Programm mit normaler UAC starten.
3. Wenn das klappt, beide Programmordner komplett zurücksetzen:
Code:
icacls "C:\Program Files" /reset /T /C /Q
icacls "C:\Program Files (x86)" /reset /T /C /Q
"Zugriff verweigert" bei Windows-eigenen Ordnern (Windows Sidebar, Media Player, Internet Explorer, Common Files\System, Microsoft Shared usw.) ist normal und gewollt – die gehören TrustedInstaller. Bei Adobe Reader (CMap, ActiveX) ebenfalls, Adobe schützt diese Ordner selbst.
Danach liefen bei mir alle Programme wieder, UAC ist wieder auf Standard.
Hinweis: /reset ersetzt individuell gesetzte Rechte durch die geerbten Standardrechte. Ältere Programme, die in ihren eigenen Programmordner schreiben wollen, könnten danach meckern – dafür ist die Sicherung aus Schritt 1 da (Wiederherstellung mit icacls "C:\Program Files" /restore C:\acl_programfiles.txt, ggf. nur für den betroffenen Ordner).
Nebenbei: Bei mir war zusätzlich die PATH-Variable am Anfang abgeschnitten (powershell wurde nicht gefunden). Falls euch das auch passiert: In den Systemvariablen bei "Path" vorne %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\WindowsPowerShell\v1.0\; ergänzen – nicht mit setx, das kürzt lange Pfade.
Gruß