Dependency Walker

Oktober 12th, 2008

Ein Tool, welches man als C++ Entwickler doch hin und wieder braucht, ist der Dependency Walker. Damit lassen sich sämtliche Abhängigkeiten (die benötigten DLLs) oder Import-/Export-Funktionen eines Programms oder einer DLL anzeigen.

Bisher war dieses Tool immer in VisualStudio enthalten. In Bezug auf Visual Studio 2008 scheint das jedoch nicht mehr der Fall zu sein. Doch es gibt das Programm auch zum Freien Download unter www.dependencywalker.com.

Dabei gibt es eine 32- und eine 64-bit Variante. In meinem Test funktionierte die 64-bit Version jedoch nicht für eine 32-bit Anwendung, d.h. man muss selbst unterscheiden, für welche Art von Plattform die zu analysierende Datei erstellt wurde und dann die entsprechende 32-/64-bit Version des DependencyWalkers aufrufen.

Gimp 2.6 unter Win32 kompiliert

Oktober 11th, 2008

Gimp ist in meinen Augen ein sehr gutes und professionelles Grafikprogramm. Das beste daran: es ist kostenlos und OpenSource. Da die Oberfläche nicht aus einem einzelnen Hauptfenster besteht, ist die Bedienung etwas gewöhnungsbedürftig. Durch den Einsatz von Tastaturkürzeln findet man sich jedoch schnell zurecht und auch das Oberflächendesign stört nicht mehr.

Trotzdem wollte ich mal testen, ob ich den Quellcode des Programms selbstständig übersetzen kann, um möglicherweise selbst Änderungen vorzunehmen. Ein Tutorial war schnell gefunden, was jedoch nicht für die aktuelle Version geschrieben war. Trotzdem habe ich es ohne großes Vorwissen versucht, und nach ungefährt 20 Stunden harter Arbeit und lesen von hunderten Webseiten und Forenbeiträge war es dann vollbracht. Eine selbst erstellte und lauffähige Version von Gimp 2.6 befindet sich nun auf meinem Rechner.

Natürlich habe ich dabei viele Fehler gemacht und es ist sicherlich von Vorteil meine Build-Umgebung nochmals sauber zu installieren. Falls ich das tue und etwas Zeit übrige habe, schreibe ich vielleicht ein Tutorial zu den vielen, vielen einzelnen Schritten.

Warum der ganze Aufwand? Es kann nicht von Nachteil sein die OpenSource Gemeinde zu unterstützen oder zumindest etwas von deren Arbeit zu verstehen. Außerdem habe ich gelesen, dass auch das VideoLAN-Projekt Entwickler für die Windows-Plattform sucht. Vielleicht schaffe ich es auch den einen oder anderen Hack in Gimp zu implementieren. Das hängt natürlich alles von meiner Zeit und meiner Motivation ab. Aber es bleibt auf jeden Fall interessant…

Software unter Vista – Teil 1

Oktober 9th, 2008

Seit etwas über einer Woche habe ich nun Vista Ultimate SP1 64-Bit im Einsatz. Daher möchte ich heute mal die ersten Erfahrungen und Probleme aus dem Software-Umfeld aufzeigen. Es soll jedoch hier nicht um Spiele gehen, auch wenn diese in die Kategorie “Software” fallen würden.

Vorab muss ich sagen, dass sich alle Programme problemlos installieren lassen. Ob es dann im Betrieb zu Problemen kommt, hängt häufig vom Alter der Software ab. Da die meisten meiner Tools relativ neu/aktuell bzw. OpenSource sind, habe ich hier sehr wenig Schwierigkeiten gehabt.

K-Lite Codec-Pack für Media Player

Da ich Vista 64-bit installiert habe, ging ich davon aus, dass ich auch die 64-bit Variante des Codec Packs benötige. Also: Pack heruntergeladen und installiert. Doch trotzdem schien der Media Player die Codecs nicht zu benutzen. Nach kurzer Suche im Netz wurde mir klar, dass es sich beim Media-Player um eine 32-bit Anwendung handelt und diese die installierten Codecs nicht nutzen kann. Nur Applikationen wie das “Windows Media Center” existieren als 64-bit Variante und würden die 64-bit Codecs benutzen. Aus diesem Grund habe ich des Codec Pack wieder deinstalliert und mir die neuere 32-bit Variante heruntergeladen. Danach lief als prima und genau so, wie vorher unter WinXP.

Offizielle K-Lite Website: http://www.codecguide.com/

Microsoft Netmeeting

… war für mich eine oft genutzten Anwendung innerhalb des Unternehmens. Damit konnte man anderen Nutzern sehr schnell und einfach Hilfestellungen anbieten oder sich das Problem einfach direkt anschauen. Mit Vista wird Netmeeting nicht mehr ausgeliefert. Microsoft stellt mit Windows Vista ein neues Tool Namens “Windows Teamarbeit” zur Verfügung (englischer Name: “Windows Meeting Space”).  Bei “Windows Teamarbeit” handelt es sich zwar um ein sehr mächtiges Tool, welches unter anderem den Austausch von Dokumenten oder das Freigeben einer Präsentation oder des gesamten Bildschirms ermöglicht, aber es steht nur für Windows Vista zur Verfügung.

Micrsoft hat für Vista einen Netmeeting-Patch bereitgestellt, aber dieser funktioniert nur auf der 32-bit Version von Vista und konnte daher von mir nicht installiert werden.

Die letzte Möglichkeit war noch die Funktion zur Anforderung von “Remoteunterstützungen”…

Der Nutzer erstellt unter WinXP eine Anfrage auf Remoteunterstützung und speichert diese Anfrage in einer Datei ab (die Anfrage kann auch direkt per Email oder per MSN verschickt werden). Unter Vista kann man diese Datei einfach starten. Danach wird nach einem Passwort gefragt, welches der Ersteller der Unterstützungsanfrage zuvor festgelegt hat. Nun erfolgt der Verbindungsaufbau zum Anfragenden, der wiederum dem Start der Unterstüzungs-Sitzung zustimmen muss. Ist dies erfolgt, erscheint beim Unterstützenden die Oberfläche der Remoteunterstützung und man kann den Desktop des Anfragenden sehen. Die Steuerung des PCs kann (wieder nur nach Zustimmung des Nutzers) übernommen, Dateien übertragen und Text via Chat ausgetauscht werden.

Die Remoteunterstützung muss natürlich zuvor auf dem entsprechenden System aktiviert werden und sie funktioniert immer nur in eine Richtung (Supporter greift auf den Rechner des Nutzers zu). Es ist z.B. nicht möglich, den Desktop des Unterstützende freizugeben.

Ein weiteres Problem entsteht, wenn sich der Anfragende PC z.B. hinter einem DSL-Router befindet. In diesem Fall wird in die Einleitung nur die IP-Adresse des PC eingetragen, jedoch nicht die Online-IP. Daher muss die Datei/Anfrage vor dem Ausführen mit der korrekten IP-Adresse erweitert werden. Anderenfalls kann man das System nicht erreichen. Zum Beispiel folgender Abschnitt…

RCTICKET="65538,1,10.10.10.1:3389;user name.domain name.com:3389

Ein Zugriff von Vista auf einen WinXP-Desktop ist mit dieser Funktion möglich und konnte von mir erfolgreich getestet werden. Umgekehrt soll das jedoch nicht funktionieren. Bei Gelegenheit werden ich auch das noch testen.

Partition Magic 8.0

Von diesem Tool muss ich mich wohl nun endgültig verabschieden. Es hat bereits unter WinXP kleinere Schwierigkeiten gehabt. Unter Vista verweigert es den Dienst und wurde schon wieder deinstalliert. Leider habe ich in diesem Bereich im Zusammenhang mit meiner Hardware Probleme und daher noch keinen geeigneten Ersatz, aber auch dafür lässt sich mit Sicherheit zu einem geeigneten Zeitpunkt etwas finden.

T-Online Software / T-Online Banking

Seit Mitte 2007 fragen Nutzer immer wieder beim Support von T-Online nach: Wann gibt es eine Version der T-Online Software für 64-bit Vista? Selbst im Juli 2008 gab es vom Support nur die Antwort: “Derzeit liegen uns keine neuen Informationen vor.” Und selbst der Support empfiehlt mittlerweise auf andere Software auszuweichen. Auf 32-bit Vista läßt sich die Software scheinbar problemlos installieren. Ich habe von Nutzern die Aussage gelesen, dass nie eine Version für 64-bit Vista erscheinen wird. Die Software selbst ist ja im Zeitalter von DSL/WLAN nicht mehr wirklich notwendig (und warscheinlich wenig genutzt).

Da ich jedoch bisher die Banking-Software verwendet habe und auch in gewisser Weise darauf angewiesen bin, musste eine schnelle Lösung her. Nach einer genaueren Suche stellte ich fest, dass es das Banking-Programm als separate Installation gibt. Diese kann auch problemlos auf 64-bit Vista installiert werden. Vorraussetzung ist jedoch, dass man einen T-Online Account besitzt. Diesen muss man in das Programm eintragen und nur nach erfolgreicher Anmeldung kann man das Banking-Programm nutzen.

Direktlink Banking 6.0
http://www.t-online.de/software

Telnet Client

Als Entwickler ist man jederzeit auf die vielen kleine Progrämmchen angewiesen, die man seit Ewigkeiten kennt und nutzt. Dazu gehört auch das Programm “telnet”. Um so erstaunter war mein Gesichtsausdruck, also nach der Eingabe des Befehls die Ausgabe “… kann nicht gefunden werden” erscheint. Aber zum Glück ist es hier nicht ganz so problematisch. Der Telnet-Client ist weiterhin Bestandteil von Vista, wird jedoch nicht mitinstalliert.

Zum Nachinstallieren öffnet man “Systemsteuerung” -> “Programme und Funktionen” und klickt dann links auf “Windowsfunktionen ein- oder ausschalten”. Im darauffolgenden Fenster muss der Eintrag “Telnet-Client” aktiviert werden. Dieser wird nach Betätigen der Ok-Schaltfläche nachinstalliert und steht nun endlich zur Verfügung.

Winamp 2.8 (vom Mai 2002)

Manche mögen jetzt Augen machen aber es ist nunmal so. Der kleine schlanke Player ist mir so ans Herz gewachsen, dass er es bis in die Vista-Welt geschaft hat. Auch unter Vista verrichtet er noch zufriedenstellend seinen Dienst. Mit Plugins wie “Streamripper”, “mp3CUE”, “gaplessAudio”, “mp3Pro” und “ac3” stehen mir die wichtigsten Funktionen zur Verfügung.

Mit Winamp wird jedoch auch der WinampAgent installiert und beim Start des Rechners automatisch geladen. Dieser stellt sicher, dass Winamp für die entsprechenden Dateiendungen registriert bleibt. Unter Vista wird dieses Programm natürlich ohne Admin-Rechte ausgeführt und kann daher nicht mehr seine Arbeit erledigen.

Weiterhin speichert Winamp seine Einstellungen im Installationsordner und daher müssen bestimmte Dateien mit erweiterten Berechtigungen versehen werden.

Trotzdem glaub ich, dass es nun an der Zeit, eine der neueren Winamp Versionen auszutesten. Bei Gelegenheit 😉

http://www.winamp.com/

UAC – Die Benutzerkontensteuerung

Oktober 9th, 2008

Wie auch schon in anderen Beiträgen erwähnt, gehört die Benutzerkontensteuerung (engl. User Account Control) zu den neuen Funktionen unter Vista. Diese sorgt dafür, dass alle Anwendungen zunächst ohne administrative Rechte gestartet werden. Nur in ganz bestimmten Situationen erhält eine Anwendung Admin-Rechte, was zusätzlich noch vom Nutzer manuell bestätigt werden muss. Das erhöht die Systemstabilität, da schädliche Programme (z.B. über den Browser oder das Emailprogramm eingeschleust) keine Anpassung der Systemeinstellungen vornehmen können. Gleichzeitig entsteht der Nachteil, dass Anwendung, welche nicht für Windows Vista entwickelt wurden, möglicherweise nicht mehr korrekt funktionieren. Zur Abhilfe kann man derartige Programme als Administrator starten (Anwendung rechtsklicken und “Als Administrator ausführen” auswählen) wodurch die Anwendung vollständigen Zugriff auf den Rechner erhält. Dadurch wird jedoch das Schutzsystem von Vista umgangen.

Während der Grundinstallation des Rechners hat man eine Vielzahl von administrativen Aktionen durchzuführen, weshalb das häufige Bestätigen der Benutzerkontensteuerung schnell stören kann. In diesem Fall empfehle ich, eine Explorer-Instanz mit administrativen Berechigungen zu starten. Dies geht wie folgt:

1) Windows Task-Manager starten (Strg + Shift + Esc)
2) Die Schaltfläche “Prozesse aller Benutzer anzeigen” klicken
3) Benutzerkontensteuerung bestätigen
4) Nun das Menu “Datei” -> “Neuer Task (Ausführen)” aufrufen
5) dort gibt man die folgende Zeile ein und klickt Ok

explorer /e,c:\

Der nun geöffnete Window-Explorer ist mit administrativen Rechten ausgestattet und kann Systemänderungen durchführen. Jedes aus diesem Prozess gestartete Programm läuft automatisch mit Admin-Rechten, so kann man z.B. die Computerverwaltung starten (Rechtklick auf “Computer” und dann “Verwalten” wählen), ohne einen Dialog der Benutzerkontensteuerung bestätigen zu müssen. Auch die Funktionen der Systemsteuerung lassen sich auf diesem Weg entsprechend aufrufen.

Warum geht das nicht einfacher? Das liegt darin begründet, dass das Startmenü und die Taskleiste auch durch den Explorer dargestellt werden. Dazu kommt, dass ein Prozess nur beim Start mit administrativen Rechten ausgestartet werden kann. Läuft der Prozess erstmal, kann das Security-Token nicht mehr verändert werden. Versucht man nun z.B. über das Startmenü den Windows-Explorer mit Admin-Rechten zu versehen, dann wird kein neuer Prozess gestartet, sondern lediglich ein neues Explorer-Fenster durch den schon laufenden Prozess geöffnet. Dies kann man im Task-Manager sehr gut erkennen. Da nun kein neuer Prozess gestartet wird, ist auch das vom Startmenü geöffnete Explorer-Fenster nicht im Besitz von Admin-Rechten. Es gibt natürlich auch die Option, dass jedes Explorer-Fenster in einem eigenen Prozess gestartet wird… aber darauf möchte ich hier nicht weiter eingehen.

Zurück zu UAC selbst. Falls man dennoch das Bedürfnis hat, die Benutzerkontensteuerung deaktivieren zu müssen, kann man wie folgt vorgehen.

1) Systemsteuerung -> Benutzerkonten öffnen
2) “Benutzerkontensteuerung ein- oder ausschalten” aufrufen
3) UAC-Dialog entsprechend bestätigen
4) den Haken bei “Benutzerkontensteuerun verwenden” deaktivieren
5) den Dialog über “Ok” verlassen.

Man wird nun zum Neustart des Rechners aufgefordert. Danach ist die UAC ausgeschaltet. Über den gleichen Weg läßt sich die Funktion auch wieder aktivieren.

Process Monitor – Tool für (fast) Alles

Oktober 8th, 2008

Ganz zufällig gebe ich bei Google den falschen Suchbegriff ein und lade mir unbewusst ein Tool, was ich eigentlich gar nicht gesucht habe. Doch dann stellt sich heraus, dass ich dieses Programm schon seit langem vermisse.

Bei dem Programm handelt es sich um den Process Monitor 2.0 von Sysinternals/Microsoft. Diese Version wurde erst vor ca. einer Woche — am 29.September 2008 — veröffentlicht und ermöglicht es einen Großteil der Systemaktivitäten aufzeichnen zu lassen. So kann man z.B. Ermitteln, auf welches Verzeichnis oder auf welchen Registry-Key der Zugriff eines Programmes ohne Administrator-Rechte scheitert. Vor dessen Veröffentlichung musste man immer mehrere Sysinternals Tools verwenden, um an die gesuchten Informationen zu kommen. Z.B. benötigte man für die Überwachung von Registry-Aktionen das Tool RegMon oder zur Analyse von Datei-Zugriffen musste man sich dem FileMon bedienen. Aber gerade beim Fehlersuchen ist das oft hinderlich gewesen.

Nun kann man endlich ein Programm benutzen und sich den Zugriff auf die Systemresourcen, wie z.B. Registry, Dateien, Prozesse, Netzwerk anzeigen lassen. Zur Ausführung werden jedoch Admin-Rechte benötigt.

Doch Vorsicht: Innerhalb einer einzigen Sekunden werden tausende von Ereignisse protokolliert. Die Geschwindigkeit des System wird bei aktivierter Aufzeichnung auf jeden Fall negativ beeinflusst. Man sollte daher die Aufzeichnungsdauer so gering wie möglich halten bzw. auf den interessanten Zeitraum begrenzen. Hinterher lassen sich die aufgezeichneten Einträge nach einer Vielzahl von Eigenschaften sehr einfach filtern.

Deutsche Beschreibung zum Process Monitor 2.0
Toolübersicht von Sysinternals bei Microsoft