Kategorien
Betriebssysteme

UAC-Aufforderung in Abhängigkeit vom Dateinamen

Bei der Anpassung von Quake II auf Full-HD-Auflösung bin ich über Folgendes gestolpert:

Wird die Datei „quake2.exe“ im Explorer mit Rechtsklick als „quake2 – Kopie.exe“ kopiert, so wird die Datei ganz normal dargestellt und ist auch ausführbar, ohne daß die Benutzerkontensteuerung aktiv wird.

Wird die Datei in „quake2patched.exe“ umbenannt, wird das Dateisymbol mit einem Schild dargestellt und es erscheint beim Start eine Anfrage der Benutzerkontensteuerung.

Die Dateien sind identisch:

>fc /b quake2.exe quake2patched.exe
Vergleichen der Dateien quake2.exe und QUAKE2PATCHED.EXE
FC: Keine Unterschiede gefunden

Wird die „quake2patched.exe“ in z.B. „quake2test.exe“ umbenannt, verschwindet das Schild-Symbol wieder.

Wie der MSDN-Artikel „UAC: Five most common Install failure Scenarios and workarounds“ nahelegt, liegt das Verhalten tatsächlich am Dateinamen.

Kategorien
Betriebssysteme

FXSAPIDebugLogFile.txt löschen

Sofern im temporären Windows-Verzeichnis eine nicht löschbare Datei „FXSAPIDebugLogFile.txt“ nervt, kann diese – wenn auf dem betroffenen Rechner die „Windows-Fax und -Scan“-Funktionalität nicht benötigt wird – wie folgt entsorgt werden:

  1. In der Systemsteuerung „Programme und Funktionen“ öffnen und dort in der linken Spalte auf „Windows-Funktionen aktivieren oder deaktivieren“ klicken.
  2. Im Dialog „Windows-Funktionen aktivieren oder deaktivieren“ den Punkt „Druck- und Dokumentendienste“ aufklappen
  3. Den Haken vor „Windows-Fax und -Scan“ entfernen und mit „OK“ bestätigen
  4. Den Rechner neu starten

Anschließend kann die Datei gelöscht werden.

Kategorien
Hardware

NVIDIA Telemetrie-Dienste unter Windows 7

Bei der Aktualisierung des NVIDIA-Treibers auf die aktuelle Version „388.31-desktop-win8-win7-64bit-international-whql“ blitzte, obwohl lediglich die Treiber aus- und GeForce Experience und NVIDIA 3D Vision als Installationsoptionen abgewählt wurden, kurz der Hinweis auf, daß ungefragt irgendwelche NVIDIA Telemetrie-Dienste installiert wurden.

Ein Blick in die aktuell laufenden Prozesse zeigte einen entsprechenden Dienst, der sich in der Diensteverwaltung aber problemlos beenden und deaktivieren ließ.

Eine Recherche im Internet brachte die Erkenntnis, daß die Sammlung von Telemetriedaten neuerdings wohl Teil des Treibers ist und nicht wie früher Teil der Experience. Die im Tool „Disable Nvidia Telemetry“ angegebenen Tasks wurden bei der Installation aber nicht eingeplant.

Kategorien
Programmierung

Zugriffe auf „%windir%\System32“ und Unterverzeichnisse

Einer der Gründe, warum in der EDV zeitliche Voraussagen so schwer zu treffen sind, ist die Tatsache, daß man immer wieder über Dinge stolpert, mit denen man nicht gerechnet hat.

Beim Versuch, ein Aufräumskript für die Hinterlassenschaften des AMD-Treibers in Perl zu schreiben, wurde eine Datei nicht gefunden, die laut Explorer und Eingabeaufforderung aber sehr wohl vorhanden war:

C:\Windows\System32\drivers>dir ati2erec.dll
...
 Verzeichnis von C:\Windows\System32\drivers

21.11.2014  04:08            43.520 ati2erec.dll
               1 Datei(en),         43.520 Bytes

Die gleiche Aufgabenstellung als Perl-Skript

use strict;
use warnings;
if (-e 'C:\Windows\System32\drivers\ati2erec.dll') { print "found.\n"; }
else { print "not found.\n"; }

führte aber zur überraschenden Ausgabe

not found.

Wie so oft, wenn es um seltsame Dinge in Windows geht, handelt es sich hierbei aber um ein Feature und keinen Bug, wobei das Feature aber erst einmal gefunden werden muß. Im konkreten Fall hört es auf den Namen „File System Redirector“ und sorgt dafür, daß

In most cases, whenever a 32-bit application attempts to access %windir%\System32, the access is redirected to %windir%\SysWOW64.

Dies erklärt das obige Phänomen, da die verwendte Perl-Version eine 32-bit Anwendung ist. Freundlicherweise liefert der MSDN-Artikel auch gleich eine Lösung

32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access. This mechanism is flexible and easy to use, therefore, it is the recommended mechanism to bypass file system redirection.

so daß der Zugriff auf ‚C:\Windows\Sysnative\drivers\ati2erec.dll‘ dann tatsächlich ein

found.

als Ergebnis liefert. Das „flexible and easy to use“ möchte ich aber durchaus in Frage stellen, denn

Note that 64-bit applications cannot use the Sysnative alias as it is a virtual directory not a real one.

bedeutet letztendlich eine entsprechende Abfrage im Skript, damit – je nach verwendetem Interpreter – der Pfad entweder auf  „System32“ oder „Sysnative“ gesetzt wird.

Kategorien
Anwendungen

AMD External Events Utility loswerden

Nach dem Wechsel von einer AMD zu einer NVIDIA-Graphikkarte blieb, trotz der Anweisung an den Uninstaller, bitte alles von AMD zu entfernen, noch das AMD External Events Utility als Dienst installiert, welches bei jedem Systemstart automatisch ausgeführt wurde. Leider ist unter „Programme und Funktionen“ keine weitere Möglichkeit vorgesehen, den nicht mehr benötigten Dienst loszuwerden.

Der erste Weg sollte in die Dienst-Verwaltung von Windows führen, wo neben der Änderung des Starttyps auf „Deaktiviert“ der Dienst auch direkt gestoppt werden kann.

Gleichzeitig kann aus diesem Dialog auch der interne Name des Dienstes (in diesem Fall identisch mit dem Anzeigenamen) sowie der Pfad zur ausführbaren Datei entnommen werden.

Die graphische Oberfläche bietet leider keine weiteren Möglichkeiten, einen Dienst aus dem System zu entfernen, dies kann aber über die Kommandozeile vorgenommen werden.

Nachdem man sich mit „query“ nochmal vergewissert hat, auch den richtigen Dienst löschen zu wollen

C:\Windows\system32>sc query "AMD External Events Utility"

SERVICE_NAME: AMD External Events Utility
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

kann die eigentliche Löschung dann mittels dem Parameter „delete“ der Dienst aus der Systemkonfiguration entfernt werden.

C:\Windows\system32>sc delete "AMD External Events Utility"
[SC] DeleteService ERFOLG

Wer mutig ist noch weiter aufräumen möchte, kann anschließend noch eine Säuberung des „%SYSTEMROOT%\System32“-Verzeichnisses vornehmen, in dem aber neben der eigentlichen Dienstdatei „atiesrxx.exe“ noch weitere 37 Dateien zu finden sind, welche alle mit „ati*“ beginnen.