Archive for November 2008

Fehler beim Starten des Programms Meldung unter Windows 9x und Windows NT4

26 November 2008

Hat man ein Programm welches die Meldung

“Fehler beim Starten des Programms”

mit dem Hinweis

“Die Datei BeliebigerProgrammname.EXE erfordert eine neuere Version von Windows. Installieren Sie die neue Version von Windows.”

ausgibt, so resultiert dies aus folgendem Zusammenhang:

Wenn man C/C++ Programme unter Microsoft Visual Studio 2008 neu kompiliert, dann wird der PE-Header der resultierenden EXE anders aufgebaut. Führt man diese EXE ab Windows 2000 und nachfolgend aus, gibt es kein Problem. Aber alles vor Windows 2000, wie Windows 95, Windows 98, Windows ME und Windows NT 4.0 und davor führt zu obiger Meldung.

Mögliche Lösungen können sein:
http://www.steelbytes.com/?mid=47
http://www.legacyextender.com/

Eine nähere Erläuterung findet man unter: http://louis.steelbytes.com/vs2008_vs_win40.html

.NET Framework Programme über Netzlaufwerke aufrufen wird mit NET 3.5SP1 einfacher

21 November 2008

Wenn man ein .NET Framework Programm seither über ein Netzlaufwerk von einem Server gestartet hat, so kam es immer zu einer Sicherheitsverletzung und das Programm wurde abgebrochen. Man konnte sich zwar mit CASPOL.EXE helfen aber das war lästig. Wie man dies seither machte, ist im Artikel https://newyear2006.wordpress.com/2006/09/02/net-programme-uber-netzlaufwerke-aufrufen-caspolexe/ beschrieben.

Microsoft hat mittlerweile die Zügel etwas gelockert und vertraut nun auch .NET Programmen die von einem Netzlaufwerk kommen in bestimmtem Umfang. Dazu wird allerdings das .NET Framework 3.5 mit Service Pack 1 benötigt. http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&displaylang=en

Weitere Details beschreibt der Artikel: http://blogs.msdn.com/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx

USB HP Drucker taucht nicht unter Windows Vista auf

18 November 2008

Ich hatte schon Mal die Probleme mit USB-HP-Druckern unter Windows Vista beschrieben. https://newyear2006.wordpress.com/2007/04/18/hp-usb-drucker-probleme-laserjet-deskjet-unter-windows-vista/. Leider hatte ich damals nicht mehr die Lösung gepostet. Wer also das Problem hat, dass beim Einstecken des USB-Druckerkabels kein HP-Druckertreiber installiert wird, der sollte folgendes machen:

Im Gerätemanager gibt es bei den USB-Geräten einen Eintrag mit HP-Druckerunterstützung (DOT4), diesen Eintrag mit der rechten Maustaste anklicken und Treiber aktualisieren auswählen. Dann “Auf dem Computer nach Treibersoftware suchen” klicken. Dann klickt man auf “Aus einer Liste von Gerätetreibern auf dem Computer auswählen” und wählt dann die USB-Druckertreiberunterstützung aus. Danach wird die USB-Unterstützung installiert und je nach Treiber sogar der zugehörige Druckertreiber gleich installiert. Danach steht der Drucker wie gewohnt zur Verfügung.

Da dieses Problem nun kurz vor Service Pack 2 für Windows Vista immer noch besteht, ist die Frage, ob das Problem auch noch so unter Windows 7 auftreten wird.

ISO-Dateien erstellen und brennen per VBScript

13 November 2008

Um automatisiert eine Datensicherung für ein Archiv auf eine CD brennen zu können kann man auch CDs per VBScript erstellen. Dies geht unter Windows Vista und Server 2008 direkt, bei Windows XP und Server 2003 mit entsprechenden Updates.

Anschaulich vermittelt dies der Artikel: http://www.microsoft.com/technet/scriptcenter/topics/imapi/imapi2-2.mspx

Die wichtigen IMAPI Interfaces die zum Einsatz kommen sind MsftDiscMaster2, MsftDiscRecorder2, MsftDiscFormat2Data, MsftFileSystemImage. Daneben wird noch (völlig abwegig aber hilfreich) ADODB.Stream benötigt.

Adobe Acrobat Reader automatisch installieren

9 November 2008

Da bei fast jedem Rechner heutzutage ein PDF-Viewer benötigt wird, installiert man oft den Adobe Acrobat Reader 9. Um diesen nun automatisch installieren zu können gibt es extra eine Beschreibung von Adobe:

http://www.adobe.com/devnet/acrobat/pdfs/deploying_reader9.pdf

In diesem Forum wird beschrieben wie man ein AutoIT Script schreiben kann, welches gleich die EULA wegnimmt und quasi so tut als würde er schon immer laufen:

http://msfn.org/board/lofiversion/index.php/t120113.html

Hier noch ein Blogeintrag wo sich jemand mit den vielen Möglichkeiten bei der Installation auseinandersetzt.

Hier noch ein Blog mit ausführlichen Infos für Version 8: http://sojoe.info/2006/12/09/a-step-by-step-guide-to-silently-installing-and-configuring-adobe-reader-8/

Hier noch der offizielle Blog für den Adobe Reader: http://blogs.adobe.com/adobereader/ sowie einen Blog für Entwickler: http://blogs.adobe.com/pdfdevjunkie/

Acrobat Developer Center mit weiteren Infos: http://www.adobe.com/devnet/acrobat/ von da aus gibt es Links zu allen möglichen Dokus.

Achso und falls noch jemand eine PDF-Druckertreiber für umsonst benötigt: http://www.pdfprinter.at/de/

Bluetooth 2.1 Unterstützung in Windows 7 löst viele Probleme

4 November 2008

Endlich hat Microsoft die Zeichen der Zeit erkannt und wird Windows 7 mit einer breiteren Grundausstattung von Bluetoothprofilen versehen als Windows Vista.

Die Entwicklung von Bluetooth Stacks war unter Windows Vista noch den einzelnen Hardwareherstellung überlassen, obwohl Microsoft bereits einen Bluetooth Grundstack mitbrachte.

Unter Windows 7 ist nun erstmals die Rede davon das Microsoft gängige Bluetooth Dongles mit einem generischen Treiber unterstützt und bereits per Grundinstallation das mittlerweile weit verbreitete A2DP Protokoll direkt unterstützt. Damit gehören Meldungen wie “Bluetooth Peripheral Device” Treiber fehlt hoffentlich der Vergangenheit an.
https://newyear2006.wordpress.com/2007/07/16/bluetooth-peripheral-device-treiber-fehlt-unter-windows-vista/

Weitere Infos zu Bluetooth unter Windows 7 findet man im Reviewer’s Guide http://download.microsoft.com/download/0/9/0/090A7CC9-C9CF-470B-A4B5-07A6E192C19B/Windows7_Reviewers_Guide.pdf. Die Audiogeschichten werden auf Seite 77 unter Bluetooth Audio behandelt.

Ausgabe von Einträgen aus der Windows Ereignisanzeige eines Offlinesystems

4 November 2008

Wenn man einen Rechner hat dessen Hardware OK aber dessen Windows System nicht mehr startet, dann hilft oft die Verwendung von Windows PE 2.x oder der Windows Vista DVD mit Computerreparaturoptionen und der Eingabeaufforderung weiter.

Oft ist es sinnvoll zu sehen, welche Ereignisse als letztes eingetreten sind. Dazu protokolliert Windows Vista jede Menge Infos in der Ereignisanzeige. Aber in einem Offlineszenario ist der Zugriff auf die Ereignisanzeige nicht so einfach. Aber wie immer gibt es eine Lösung.

Seit Windows Vista gibt es das Commandline Tool WEVTUTIL.EXE mit diesem lassen sich die EVTX-Dateien welche die Ereignisanzeigedaten enthalten auswerten. Das WEVTUTIL-Tool ist mächtig dafür aber auch kompliziert zu bedienen. Es findet übrigens auch Verwendung beim Windows Server 2008 Core.

http://technet.microsoft.com/en-us/library/cc732848.aspx

Führt man WEVTUTIL im Offlineszenario direkt aus, z. B. per

WEVTUTIL GLI SYSTEM

dann erhält man eine Fehlermeldung:

Fehler beim Lesen der Protokollstatusinformationen für Protokoll “SYSTEM”. Die Anforderung wird nicht unterstützt.

Wenn wir schon bei Fehlermeldungen sind, in einem normalen System bekommt man die Meldung

Fehler beim Lesen der Protokollstatusinformationen für Protokoll “systems”. Der angegebene Kanal wurde nicht gefunden. Prüfen Sie die Kanalkonfiguration.

wenn man z. B. systems anstatt system angegeben hat.

Gibt man eine falsche Datei oder eine Datei im alten W2K oder XP Format an, wird folgende Fehlermeldung angezeigt:

Fehler beim Lesen der Protokollstatusinformationen für Protokoll “SysEvent.Evt”.  Die Daten sind unzulässig.

Eine gültige Anzeige für den Parameter GLI sieht z. B. so aus:

creationTime: 2008-04-19T18:28:16.715Z
lastAccessTime: 2008-04-19T18:28:16.715Z
lastWriteTime: 2008-11-01T18:32:06.845Z
fileSize: 20975616
attributes: 32
numberOfLogRecords: 48475
oldestRecordNumber: 178373

Zurück zum Offlineszenario. Das Problem hier ist, dass wenn man WEVTUTIL benutzt, sich alles auf das WinPE System bezieht. Dort wird in der Regel das virtuelle Laufwerk X: angelegt, wo sich unter X:\WINDOWS\SYSTEM32\WINEVT\LOGS die LOG-Dateien befinden sollten. Doch das Verzeichnis ist leer. Für PE Systeme müssen allerdings Ereignisse nicht wirklich gespeichert werden, da es sich sowieso nur um temporäre Daten handelt.

Da man ja aber auf eine kaputte Standardinstallation zugreifen möchte, findet man also die EVTX-Dateien unter C:\WINDOWS\SYSTEM32\WINEVT\LOGS und durch einen speziellen Parameter /LF:TRUE, den viele WEVTUTIL Kommandos verstehen, kann man WEVTUTIL direkt auf Dateien mit der Endung EVTX loslassen.

So ist die korrekte Syntax für Infos über die SYSTEM-Ereignisse (der Pfad C:\WINDOWS\SYSTEM32\WINEVT\LOGS\SYSTEM.EVTX wurde leider umgebrochen, gehört aber immer alles in eine Zeile):

WEVTUTIL GLI C:\WINDOWS\SYSTEM32\WINEVT\LOGS\SYSTEM.EVTX /LF:TRUE

So und nun ans eingemachte. Eigentlich interessieren einen ja primär Fehler und Warnungen, diese bekommt man mit folgendem Konstrukt:

WEVUTIL QE C:\WINDOWS\SYSTEM32\WINEVT\LOGS\SYSTEM.EVTX /LF:TRUE /F:TEXT /Q:”*[System/Level=2]“

Damit werden alle Fehler aufgelistet die im Offlinesystem protokolliert wurden. Ist man an den Warnungen interessiert, verwendet man folgende Zeile:

WEVUTIL QE C:\WINDOWS\SYSTEM32\WINEVT\LOGS\SYSTEM.EVTX /LF:TRUE /F:TEXT /Q:”*[System/Level=3]“

Da im Extremfall ziemlich viele Infos ausgegeben werden, sollte man die Daten in eine Datei umlenken (pipen) um sie dann mit NOTEPAD anzuschauen.

Der Parameter /Q ist durch die Verwendung von XPath ziemlich mächtig, dafür aber auch etwas kompliziert. Weitere Infos zu Abfragen findet man hier: http://msdn.microsoft.com/en-us/library/aa385231(VS.85).aspx

Übrigens durch weglassen des Parameters /F:TEXT bekommt man reinstes XML, was für Dokumentations oder Auswertungszwecke interessant sein kann.

Was ist wenn das Offlinesystem Windows XP oder Windows 2000 sein sollte? Beide verwenden ein älteres von NT-Stammendes Format mit der Endung EVT. Das Verzeichnis für Windows XP lautet: C:\WINDOWS\SYSTEM32\CONFIG und bei Windows 2000: C:\WINNT\SYSTEM32\CONFIG. Mit dem Kommando EPL kann man auch dieses Problem lösen, der Artikel http://blogs.technet.com/askperf/archive/2007/10/12/windows-vista-and-exported-event-log-files.aspx beschreibt wie man das alte EVT- ins neue EVTX-Format konvertieren kann.

Noch weitere Infos zur Vertiefung mit Abfragen: http://technet.microsoft.com/de-de/magazine/cc160886.aspx

Highlights von Microsoft Windows 7

3 November 2008

Im Reviewer Guide für Windows 7 schreibt Microsoft quasi vor, was für Berichterstatter bei Windows 7 zu beachten ist und neues kommt. Abgesehen vom Marketinggesabbel werden doch noch mal einige Bildschirmmasken von Windows 7 gezeigt und einige Funktionen umschrieben:

http://download.microsoft.com/download/0/9/0/090A7CC9-C9CF-470B-A4B5-07A6E192C19B/Windows7_Reviewers_Guide.pdf

Windows 7 bekommt GPS Unterstützung

2 November 2008

Im Windows 7 Developer Guide ist die Rede von direkter GPS Unterstützung im Betriebssystem.
http://code.msdn.microsoft.com/Win7DeveloperGuide

Was bei aktuellen Windows Mobile Geräten mittlerweile zur Standardausstattung gehört, findet nun endlich auch bei den größeren Geräten Einzug. Stellt sich nur noch die Frage wie lange die Hardwarehersteller brauchen um darauf zu reagieren.

Damit ist die Wettervorhersage vor Ort, egal wo man sich gerade mit seinem Notebook befindet, gesichert. Oder wenn man in Zukunft sein Notebook vermissen sollte, kann man es einfach orten solange es noch Strom bekommt ;-)

Realisiert wird das ganze durch die Windows Location API. Würde mich nicht wundern, wenn diese API in Windows Vista mit Service Pack 2 auch Einzug halten sollte, überfällig ist sie schon lang.

Jetzt bräuchte man nur noch eine direkte managed Unterstützung im kommenden .NET Framework 4.0 um Koordinatenumrechnungen und Wegberechnungen durchführen zu können, dann würde es sicherlich noch mehr Anwendungen mit GPS Unterstützung geben.

Die Implementierung eines GPS Gadgets das unter Windows 7 die aktuelle Position mittels Virtual Earth anzeigt, findet sich hier: http://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/PCHOL13.docx.

Performance Probleme mit Windows Vista Service Pack 1 und Virtual Server 2005 R2 Service Pack 1

1 November 2008

Seit einer Ewigkeit plage ich mich mit einer schweinelangsamen, virtuellen Windows Vista SP1 Maschine unter einem Virtual Server R2 SP 1 herum. Da die Maschine nur hin und wieder benötigt wird, hatte ich keinen Grund der Sache nachzugehen.

Angefangen hatte das ganze Übel als SP1 von Windows Vista aufgespielt wurde. Das geschah aber damals mehr so nebenher und es gab noch andere Probleme. Durch die seltene Benutzung der VM war auch nicht klar wo die Performance Probleme herrührten.

Ein früher schneller Check nach Updates zu VMAdditions brachte nichts neues. Es war auch lange Zeit kein Update für den Virtual Server R2 SP1 zu haben.

Auch der Virtual Guy, Ben Armstrong, hatte in seinem Blog nur eine Veröffentlichung von VirtualPC 2007 Service Pack 1 angekündigt: http://blogs.msdn.com/virtual_pc_guy/archive/2008/05/15/virtual-pc-2007-sp1-now-available.aspx. Eine Ankündigung eines Updates für den Virtual Server 2005 R2 SP1 war bei ihm nie zu lesen.

Irgendwie scheint Hyper-V Schuld zu sein, denn alles war auf Hyper-V ausgerichtet. Keine Sau interessierte sich mehr für Virtual Server 2005 R2.

Nach einem kurzen Check hatte ich mich heute entschlossen die virtuelle Vista Maschine neu aufzusetzen. Um etwaige Problemen gleich aus dem Weg zu gehen, gleich mit einem Vista mit integriertem SP1.

Pustekuchen! Nach der Neuinstallation war alles beim Alten. Also weitergesucht. Wenn es ein Update für den VirtualPC 2007 mit SP1 gab und dort explizit Vista mit SP1 als unterstützt genannt wird, dann sollte es darunter also Laufen. Also hab ich den VirtualPC 2007 SP1 installiert und von dort die VMAdditions.ISO geholt und siehe da, es handelt sich um eine neuere Version. Die alte Version der Virtual Maschine Additions war 13.813 und die neue Version der VMAdditions 13.820.

Nachdem ich die neuen VMAdditions mit Version 13.820 installiert hatte lief Windows Vista wie gewünscht.

Nachdem nun die benötigte Version klar war, machte ich mich auf die Rückkehrsuche und wurde doch noch für den Virtual Server 2005 R2 SP1 fündig. Auch für diesen gibt es ein Update welches die Version der Virtual Maschine Additions auf Version 13.820 aktualisiert.

Zu guter letzt hab ich dem Virtual Guy unrecht getan, denn es gab doch einen Blogeintrag zum Virtual Server Update: http://blogs.msdn.com/virtual_pc_guy/archive/2008/05/15/virtual-server-2005-r2-sp1-update-now-available.aspx.

Übrigens, laut diesem Foreneintrag läuft auch Windows 7 unter den VMAddtions 13.820:
http://www.vistax64.com/virtual-pc/190249-windows-7-a.html

Virtual Server 2005 R2 SP1 Update für Windows Vista SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a79bcf9b-59f7-480b-a4b8-fb56f42e3348&DisplayLang=en

VirtualPC 2007 SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyID=28c97d22-6eb8-4a09-a7f7-f6c7a1f000b5&DisplayLang=en


Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.