Vista: Ausrufezeichen vor Microsoft WPD-Dateisystem-Volumen-Treiber im Gerätemanager

Es hat ziemlich lange gedauert bis ich verstanden habe woher das Ausrufezeichen vor dem Microsoft WPD-Dateisystem-Volumen-Treiber im Gerätemanager kommt.

Ich musste einige Siemens Rechner mit Vista neu ausstatten und habe einen Master erstellt um die anderen Rechner nur clonen. Irgendwann bei meinen Vorbereitungen erschien dann ein Ausrufezeichen vor dem Microsoft WPD-Dateisystem-Volumen-Treiber.

 wpd-dateisystem-volumentreiber

Irgendwann nachdem ich den Chipset Treiber aktualisierte und einige andere Änderungen gemacht hatte, erschien diese Anzeige. Ich machte die Änderungen langsam wieder rückgängig und fand dadurch den Grund.

Die Ursache ist ganz simpel. Meine Rechner verfügen auch über einen internen Speicherkartenleser. Dafür werden auch Laufwerksbuchstaben in der Datenträgerverwaltung reserviert. Mich nervt das regelmäßig, da ich maximal nur ein Laufwerk mit dem SD-Kartenleser nutze. Also entferne ich die Laufwerksbuchstaben für die anderen Kartentypen.
Aber genau das mag anscheinend der Treiber nicht.

Ordnet man allen Datenträgern wieder einen Laufwerksbuchstaben zu, verschwindet auch wieder das Ausrufezeichen. Also kein Grund zur Sorge und kein defekt. Einfach nur unschön.

PS: Bei den Rechnern, bei denen ich das beobachtete handelte es sich fast immer um Geräte mit Intel Chipsatz. Ich weiß nicht ob dies mit damit zusammenhängt.

Kennwortabfrage bei der Deinstallation der Symantec Corporate Edition 10

Wir nutzen in der Firma seit Jahren die Symantec Corporate Edition. Bisher in der Version 10.

Bei der Umstellung auf die neue 11er Version musste ich auf den Clients die alte Software entfernen.
Bei den Rechnern mit einer zentralen Installation wusste ich natürlich das Kennwort für die Deinstallation, denn das wurde von mir eingerichtet und lag im Password Safe.
Allerdings wurden scheinbar auch einige Clients von anderen Admins von CD aus installiert. Hier war mir nun unklar, was für ein Deinstallations Kennwort verwendet wird.

Nach einigem Suchen im Netz bekam ich drei Wege heraus die Corporate Edition zu entfernen:

  • Das Standardkennwort lautet bei einer nicht verwalteten Installation symantec
  • Man kann die Abfrage des Kennwortes bei der Deinstallation aber auch verhindern, indem man den Registryschlüssel UseVPUninstallPassword in HKLM\Software\Intel\LANDesk\VirusProtect6\CurrentVersion\AdministrtatorOnly\Security von 1 auf 0 umsetzt.
  • Symantec selbst bietet auf der Homepage eine komplizierte Beschreibung für die manuelle Deinstallation.
  • Nicht versucht habe ich das Norton Removal Tool, dass es auch gibt.

Wie finde ich alte Artikel im Netz?

Microsoft ist dazu übergangen Artikel, die älter als 8 Jahre sind aus dem MSDN heraus zu nehmen. Leider! Denn viele wertvolle Windows API Artikel gehen damit verloren oder sind nicht mehr verfügbar, so zum Beispiel ist auch die OLE Bibel von Kraig Brockschmidt.

Besonders peinlich finde ich es, wenn Microsoft Artikel entfernt auf die in der KB noch Bezug genommen wird, wie zum Beispiel in diesem KB Artikel INFO: Syntax of the Res: Protocol and Some Known Related Issues.
Mir ging es um den Artikel http://www.microsoft.com/mind/0199/cutting/cutting0199.asp, dessen Link leider ins Leere verläuft.

Bleibt die Frage wie man solche alte Artikel wiederfindet, die noch von anderer Seite her referenziert werden ❓

Sofern man (wie hier) die komplette alte URL noch kennt gibt es zum Glück http://web.archive.org/   ❗

Einfach im Advanced Search die URL angegeben http://www.microsoft.com/mind/0199/cutting/cutting0199.asp

Und siehe da man erhält:
http://web.archive.org/web/*/http://www.microsoft.com/mind/0199/cutting/cutting0199.asp
Wie man sieht ist der Artikel Ende 2007 zuletzt auf den MS Seiten zu sehen gewesen.

Bleibt nur noch die Frage, wie man an die alten Links kommt ❓

Es gibt einen schnellen zweiten Weg, wenn der Artikel vor 2001 bereits veröffentlicht war. Google war so nett und hat uns Google 2001 bereitgestellt ❗

Die Suche ergab hier schnell das folgende Ergebnis:
http://www.google.com/search2001/search?hl=en&q=%22Pluggable+Protocols%22+res

Und siehe da, wir erhalten zusätzlich wieder einen Link auf das bereits erwähnte http://web.archive.org :
http://web.archive.org/web/2001/http://msdn.microsoft.com/library/periodic/period99/cutting0199.htm

Google 2001 kann hier also auch ein richtig gutes Helferlein sein um verschollene Informationen und Artikel wieder aufzufinden.

SETX der kleine Helfer für die wechselnden Environment Variablen des Entwicklers

In manchen Fällen kommt man um Environment Variablen nicht herum. Sie machen es auch einfach, globale Pfade für Linker, Präprozessor und auch für die Ausführung (PATH) zu setzen, oder eben auch EXEs und  DLLs zu steuern.

Solche Environment Variablen, bzw. INCLUDE und LIB Pfade zu setzen für das ganze System kann mühsam sein wenn man die Windows System UI nutzt. Der Aufruf ist umständlich und es erfolgt ein UAC-Prompt. Eine andere Variante wäre die Nutzung einer Reg-Datei. Dazu muss man aber wieder der UAC-Prompt über sich ergehen lassen.

Es geht viel einfacher, mit dem Helferlein SETX.EXE, das seit Vista nicht mehr nur im Windows Ressource Kit drin ist. Mit SETX kann man sich Ruckzuck ein kleines Batch-File schreiben, dass alle wichtigen Umgebungsvariablen für eine bestimmte Projektumgebung setzt.
Genial ist einfach, dass ab diesem Moment für jedes neu gestartete Programm diese Environment Variablen gelten. Natürlich inklusive der Visual Studio Umgebung.

In der Verbindung mit dem Aufruf von DEVENV /useenv kann man damit sehr schnell seinen Rechner auf eine komplett andere Projektumgebung einstellen. Und das ganze auch ohne UAC-Prompt 🙂 Ja! Man glaubt es kaum. Es erfolgt ja auch nur Zugriff auf HKCU.

Anmerkung:Ich benutzt sehr gerne den Property-Manager nur ist es eben nur eine Lösung für alle Software, die aus dem Visual-Studio heraus gestartet wird, und es nützt gar nichts, wenn man die EXE/DLL selber mit unterschiedlichen Umgebungen testen will.

Und SETX ist auch noch wirklich extrem flexibel. Man kann nicht nur einfach eine Environment Variable setzen, wie man es mit SET kennt. Als Quelle können hier sogar Tetxdateien, Registryschlüssel genutzt werden. Und das Multitalent SETX kann sogar bei Angabe von Computername, Nutzername und Kennwort remote benutzt werden und damit auch die Systemweiten Parameter verändern.

Hier die Beschreibung von SETX /?

SetX hat drei verschiedene Ausführungsmethoden:

Syntax 1:
    SETX [/S System [/U [Domäne\]Benutzer [/P [Kennwort]]]] var Wert [/M]

Syntax 2:
    SETX [/S System [/U [Domäne\]Benutzer [/P [Kennwort]]]] var /K
         Registrierungspfad [/M]

Syntax 3:
    SETX [/S System [/U [Domäne\]Benutzer [/P [Kennwort]]]]
         /F Datei {var {/A x,y | /R x,y Zeichenfolge}[/M] | /X}
         [/D Trennzeichen]

Beschreibung:
  Erstellt oder bearbeitet Umgebungsvariablen in der Benutzer- oder
  Systemumgebung. Ermöglicht das Festlegen von Variablen, die auf
  Argumenten, Registrierungsschlüsseln oder Dateieingabe basieren.

Parameterliste:
  /S    System             Remotesystem für die Verbindungsherstellung.

  /U    [Domäne\]Benutzer  Bestimmt den Benutzerkontext, unter dem
                           der Befehl ausgeführt wird.

  /P    [Kennwort]         Bestimmt das Kennwort für den
                           Auslassung fordert zur Kennworteingabe auf.

  Variable                 Bestimmt die zu setzende Umgebungsvariable.

  Wert                     Bestimmt einen zu setzenden Wert
                           für die Umgebungsvariablen.

  /K    Registrierungspfad Bestimmt, dass die Variable auf Informationen
                           aus einem Registrierungsschlüssel basiert.
                           Gültiges Pfadformat:
                           Struktur\Schlüssel\…\Wert, z. B.
                           HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                           Control\TimeZoneInformation\StandardName.

  /F    Datei              Bestimmt den Dateinamen der zu verwendenden
                           Textdatei.

  /A    x,y                Bestimmt die absoluten Dateikoordinaten
                           (Zeile X, Element Y) als Parameter, nach denen
                           innerhalb der Datei gesucht werden soll.

  /R    x,y Zeichenfolge   Bestimmt die relativen Dateikoordinaten im
                           Verhältnis zur „Zeichenfolge“ als Suchparameter.

  /M                       Legt fest, dass die Variable in der
                           systemübergreifenden Umgebung
                           (HKEY_LOCAL_MACHINE) gesetzt werden. Der
                           Standardwert wird unter der Umgebung gesetzt
                           (HKEY_CURRENT_USER).

  /X                       Zeigt Dateiinhalte mit den x,y Koordinaten an.

  /D    Trennzeichen       Bestimmt zusätzliche Trennzeichen, wie z. B.
                           „,“ oder „\“. Standardtrennzeichen sind
                           Leerzeichen, Tabulator, Wagenrücklauf und
                           Zeilenvorschub. Beliebige ASCII-Zeichen können
                           als zusätzliche Trennzeichen verwendet
                           werden. Die max. Anzahl an Trennzeichen,
                           einschließlich Standardtrennzeichen beträgt 15.

  /?                       Zeigt diese Hilfe an.

HINWEIS: 1) SETX schreibt Variablen in die übergeordnete Umgebung
            in der Registrierung.

         2) Auf einem lokalen System sind Variablen, die mit
            diesem Programm erstellt oder bearbeitet wurden,
            erst in zukünftigen und nicht in aktuellen
            cmd.exe Befehlszeilenfenstern verfügbar.

         3) Auf einem Remotesystem sind Variablen, die mit
            diesem Programm erstellt oder bearbeitet wurden, erst
            bei der nächsten Anmeldesitzung verfügbar.

         4) Gültige Registrierungsschlüssel-Datentypen:
            REG_DWORD, REG_EXPAND_SZ, REG_SZ, REG_MULTI_SZ

         5) Unterstützte Registrierungsstrukturen: HKEY_LOCAL_MACHINE
            HKEY_CURRENT_USER (HKCU).

         6) Bei Trennzeichen wird zwischen Groß-/Kleinschreibung
            unterschieden.

         7) REG_DWORD-Werte werden aus der Registrierung
            im Dezimalformat extrahiert.

Beispiele:
    SETX MACHINE COMPAQ
    SETX MACHINE „COMPAQ COMPUTER“ /M
    SETX MYPATH „%PATH%“
    SETX MYPATH ~PATH~
    SETX /S System /U Benutzer /P Kennwort MACHINE COMPAQ
    SETX /S System /U Benutzer /P Kennwort ^%PATH^%
    SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\
         Control\TimeZoneInformation\StandardName
    SETX BUILD /K „HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
         NT\CurrentVersion\CurrentBuildNumber“ /M
    SETX /S System /U Benutzer /P Kennwort TZONE /K HKEY_LOCAL_MACHINE\
         System\CurrentControlSet\Control\TimeZoneInformation\
         StandardName
    SETX /S System /U Benutzer /P Kennwort BUILD /K
         „HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
         CurrentVersion\CurrentBuildNumber“ /M
    SETX /F ipconfig.out /X
    SETX IPADDR /F ipconfig.out /A 5,11
    SETX OCTET1 /F ipconfig.out /A 5,3 /D „#$*.“
    SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
    SETX /S System /U Benutzer /P Kennwort /F c:\ipconfig.out /X

Klonen einer defekten Festplatte mit Acronis Home ohne Probleme

Ich selbst benutze Acronis als Datensicherungs Programm schon sehr lange. Zu Hause sind Acronis Home und meine Vista Rechner (Desktop + Laptop) ein gut eingespieltes Team.

Folgendes Erlebnis hat mich noch mehr von Acronis Home überzeugt:

  • Neulich beim Kaffeetrinken bei Freunden (absolute Computer-Laien) wird berichtet, dass ihr Rechner so langsam geworden wäre.
  • Nach einem Blick auf den XP SP2 Rechner und Analyse des Ereignisprotokolls stellt sich heraus, dass die Festplatte schon massenweise Fehler meldet. CHKDSK.EXE meldet eine sehr hohe Anzahl defekter Sektoren und läuft ewig.
  • OK! Neue Festplatte für einen Appel&Ei bei Ebay geordert.
  • Nach ein paar Tagen nachdem die Festplatte angekommen ist, von zu Hause Acronis Home als bootbare CD mitgenommen.
  • Neue Harddisk als Master an den zweiten IDE Channel angeschlossen.
  • Von CD Acronis gebootet.
  • Clonen der Festplatte angeschmissen.
  • Logisch: Nach ein paar Minuten die ersten Meldungen über Lesefehler. Alle ignorieren…
  • Acronis benötigt 4 Stunden für die Kopie, aufgrund der vielen defekten Sektoren (zwischendrin war die Prognose mal bei 17 Stunden)
  • Nach einem gemütlichen Ausflug und Kaffeetrinken ist der Clone-Vorgang fertig.
  • Alte Festplatte abgeklemmt, neue an IDE Channel 1 als Master.
  • Nichts sonst gemacht, Rechner bootet, alles toll und prima und der Rechner ist wieder so schnell wie dazumals.
  • Freund und Ehefrau wieder glücklich(er)… 🙂

Einfach genial. So einfach und simpel hatte ich mir das ehrlich gar nicht vorgestellt. Ich war absolut positiv überrascht, da ich mich auch nicht für den genialen Hardware Bastler halte.

Wenn ich solche Festplattenwechsel gemacht habe, hatte ich bisher immer eine Neuinstallation vorgenommen, was sich bei mir auch meistens gelohnt hat. Bei meinen Freunden, wäre es unnötig gewesen, für das bisschen Word, Excel, Vokabeltrainer der Kiddys und Onlinebanking.

Für das Geld was dieses Acronis Home kostet ist es ein absolut geniales Rundum-Sorglos-Programm…

CLIP.EXE der nette kleine Helfer unter Vista

Wer wollte nicht schon mal ganz schnell die Ausgabe eines Befehlszeilen Tools in der Zwischenablage haben. OK man kann einen Bereich mit dr Maus im Konsolenfenster markieren, aber was macht man wenn es um eine 2000 Zeilen Ausgabe geht?

Unter Vista ist das ganz einfach, man benützt einfach eine Pipe und CLIP.EXE!

DIR | CLIP

Siehe da. Man hat den gesamten Text in die Zwischenablage gepipet.
Was CLIP macht verrät es wenn man einfach mal CLIP /? ausführt.

CLIP

Beschreibung:
    Leitet die Ausgabe von Befehlszeilenprgrammen in die
    Windows-Zwischenablage um.
    Diese Textausgabe kann in andere Programme eingefügt werden.

Parameterliste:
    /?                  Zeigt diese Hilfe an.

Beispiele:
    DIR | CLIP     Erstellt eine Kopie des aktuellen Verzeichnis-
                         inhalts in der Windows-Zwischenablage.

    CLIP < README.TXT   Erstellt eine Textkopie von readme.txt
                         in der Windows-Zwischenablage.

BTW: Jeder 4NT bzw. TCC/LE Nutzer kennt natürlich schon längst den CLIP: Device! Diejenigen mussten auf solch ein Helferlein auch nicht bis Vista warten. Damit kann man das ganze auch einfach so

DIR > CLIP:

machen.

Über was es nicht alles RFCs gibt

Durch Zufall bin auf diesen uralten RFC aus dem Jahre 1996 gestoßen.
Man beachte das Datum der Veröffentlichung!
http://www.apps.ietf.org/rfc/rfc1925.html

Besonders stark finde ich Abschnitt (3) bzgl. der fliegenden Schweine 🙂

BTW: Eine Liste aller 1. April RFCs gibt es hier
http://www.apps.ietf.org/rfc/apr1list.html

Dr. Watson starb unter Vista…

… und es war nicht etwa wieder Prof. Dr. Moriarty :mrgreen:

Wenn man unter Vista einen Crashdump benötigt dann sucht man DRWTSN32.EXE unter Vista vergeblich. Für die Qualitätssicherung sind mir Minidumps immer extrem wichtig.

Es stellt sich die nette Frage: Wie kommt man von einem Kunden dann an einen informativen Minidump, wenn man keinen WER-Account hat, oder das Programm nicht signiert war, oder gar der WER Server diese Dumps nicht anfordert?

Unter Vista ist alles noch einfacher und schwieriger geworden. Vista speichert leider nicht grundsätzlich Minidumps, aber es legt für Crashs unter Problemberichte und Lösungen einen eigenen Eintrag an. Zu Crashs von WER registrierten Programme werden hier evtl. direkt Lösungen oder Updates angeboten. Und auch Crashdumps werden hier mit abgelegt, wenn sie erzeugt werden..

So ist es unter Vista aus:

  1. Das WER System in Vista erzeugt normalerweise nur Minidumps für signierte Programme bzw. wenn der WER Server einen Crash abruft.
  2. Um immer einen Minidump zu erhalten muss in der Registry der folgende Wert gesetzt werden:
    HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\ (DWORD)  mit Namen ForceQueue  erzeugen und auf 1 setzen.
  3. Dumps werden im Benutzerverzeichnis unter C:\Users\TheUserName\AppData\Local\Temp und hier C:\ProgramData\Microsoft\Windows\WER\ReportQueue abgelegt und sind meistens gepackt. Sie erhalten die Endung *.mdmp.
  4. Der Zugriff kann ganz einfach erfolgen mit Systemsteuerung -> System und Wartung -> Problemberichte und Lösungen -> Probleme anzeigen und überprüfen
  5. Dort findet man das entsprechende Programm und die dazugehörigen entsprechenden Crashs.
  6. Weitere Infos einfach über Details anzeigen lassen.
  7. Wenn es einen Dump gibt, dann findet man hier wieder einen Eintrag Temporäre Kopie dieser Dateien anzeigen
  8. Damit lässt sich der Explorer öffnen und man erhält Zugriff auf die gespeicherten Daten.
  9. Diese kann man sich nun als Entwickler zusenden lassen.

Siehe auch:

Text aus eine MessageBox einfach in die Zwischenablage kopieren…

Jeder kennt das, der schon mal an Supportfällen gearbeitet hat.

Der Kunde bekommt eine Fehlermeldung und meistens ist es eine simple MessageBox die dort angezeigt wird. Was wird gemacht? Der Kunde drückt Alt+Druck und schickt einen Screenshot.

Oder man will selber nach dem Text in Google suchen und tippt mühselig die Meldung ab.

Dabei geht es so einfach: Strg+C oder einfach Strg+Einfg drücken und schon wird der Text der Messagebox auf wundersameweise in die Zwischenablage kopiert:

---------------------------
Titel der MessageBox
---------------------------
Text der MessageBox
---------------------------
OK   Abbrechen  
---------------------------

Dies geht auf allen Windows Betriebssystemen!

Besonders interessant ist das auch der Windows Vista Task Dialog diese Funktionalität enthält, wie man z.B. mit dem Notepad unter Vista ausprobieren kann.

[Window Title]
Editor
[Main Instruction]
Möchten Sie die Änderungen an Unbenannt speichern?
[Speichern] [Nicht speichern] [Abbrechen]