Archive for the ‘Win32’ Category

Syntax highlighting für TR1-header!?

Saturday, December 13th, 2008

Wer schon mit TR1 und den neuen Features gearbeitet hat, dem wird aufgefallen sein, dass es zu den Headern keine Syntax-Highlighting gibt. Dies ist wohl ein Bug…
Man muss es nur in der Registry eintragen, dann wird es passenden angezeigt:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Languages\Extensionless Files\{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}]
"array"=""
"random"=""
"regex"=""
"tuple"=""
"type_traits"=""
"unordered_map"=""
"unordered_set"=""
"xawrap"=""
"xawrap0"=""
"xawrap1"=""
"xawrap2"=""
"xfwrap"=""
"xfwrap1"=""
"xrefwrap"=""
"xtr1common"=""
"xxbind0"=""
"xxbind1"=""
"xxcallfun"=""
"xxcallobj"=""
"xxcallpmf"=""
"xxcallwrap"=""
"xxfunction"=""
'xxmem_fn"=""
"xxpmfcaller"=""
"xxrefwrap"=""
"xxresult"=""
"xxtuple0"=""
"xxtuple1"=""
"xxtype_traits"=""

Siehe auch: Enable syntax highlighting for TR1 headers in VS2008 SP1

Debugging .NET Apps wird ab .NET4 besser…

Wednesday, December 10th, 2008

Eines der größten Nachteile in der aktuellen .NET-Welt ist der sehr schlechte support für das Debuggen von MiniDumps. Dies ist aktuell nur mit sehr viel Aufwand möglich. Geschweige denn, dass es irgendeine Unterstützung gäbe um den .NET Source-Code anzuzeigen.
Es gab mal eine WinDbg-Version (6.7.5.0) die dies konnte. Das war aber ein “Missverständniss” und diese Version wurde 3 Tage später wieder aus der offizielen Seite entfernt. Der Grund ist wohl, dass hier undokumentierte Schnittstellen des CLR-Teams verwendet wurden. Und wie dies bei MS so üblich ist, kann man nicht einfach zwischen zwei Teams kommunizieren. Das geht nunmal nicht.
Das ist auch der Grund, warum nun von WinDbg-Team ganz offiziell die Zusammenarbeit mit dem CLR-Team beendet wurde. Es wird also in absehbarer Zeit keine .NET-Unterstützung in WinDbg geben (Anmerkung: sos.dll kommt *nicht* vom WinDbg-Team sondern vom CLR-Team!).

Auf der PDC wurde jetzt aber dieses Jahr doch ein neues “Konzept” für das Debuggen von .NET4-Applikationen vorgestellt. Es wurde (endlich) erkannt, dass es doch wichtig ist z.B. (Mini-) Dumps zu analysieren. Deshalb haben sie wohl das ganze Debugging in .NET4 umgestellt und diese Unterstützung auch mit eingebaut. Endlich mal gute Nachrichten für .NET.

Mehr Infos gibt es hier:
CLR 4.0 advancements in diagnostics

Die Neuerungen sind u.a.:

  • Managed dump debugging
  • Profiler attach (and detach) for memory diagnostics and sampling
  • Registry-free profiler activation
  • x64 mixed-mode debugging
  • lock inspection
  • Corrupted-state exceptions

Übersetzungsdienst im MSN-Messenger..

Friday, December 5th, 2008

Wer öfters mit dem MSN-Messenger arbeitet, kann jetzt auch einen “Übersetzer” verwenden. Sieht eigentlich ganz nett aus ;)
mtbot@hotmail.com
Siehe dazu auch http://www.windowslivetranslator.com/Default.aspx bzw. http://wltbot.spaces.live.com/

TechEd Barcelona - Windows Server Logo/Certification Programm

Tuesday, November 11th, 2008

Nachdem ich jetze hier auf dem “App Readiness 2008 (R2)” Stand bin, hab ich mich da auch mal ein wenig eingearbeitet ;)
Es gibt jetzt ein kostenloses Tool um den (einfachen) Level “Works with …” zu erreichen. Dabei ist mir auch aufgefalen, dass es das “Certified for…” Programm auch kostenlos zum Download gibt. Und dabei ist mir wiederum aufgefallen, dass es ein schoenes Tools gibt um z.B. vor einer Installation und danach ein Snapshot des Systems zu machen und diese beiden zu vergleichen:
Windows System State Analyzer

Zum Testen gibt es noch mehr Tools:
Logo Testing Tools (x86)
Logo Testing Tools (x64)
Server Certification Tool (x86) for Self-Testing
Server Certification Tool (x64) for Self-Testing

Auch wenn man selber nicht an dem “Logo”, “Works with” oder “Certified for” Programm teilnehmen will, so ist es doch eine sehr gute Hilfe um seine Applikation/Installer korrekt zu schreiben, dass er bestmoeglichst funktioniert!

TechEd Developers Barcelona - Day 2

Tuesday, November 11th, 2008

Die Keynote gestern fand ich sehr schön. Dort wurden 4 Themenbereiche vorgestellt. Und einer der Themenbereiche war “Using the power of C++” ;)
Und die neuen Featured von VS2010 sind schon beeindruckend. Neben dem neuen Paralell-Syntax-System (es geht wieder weg von OpenMP, hin zu einem “eigenen” System) hat er auch das Debugging gezeigt. Hier gibt es wesentliche Verbesserungen was das Debuggen von Multi-Threaded-Applikationen anbelangt (was IMHO heute immer wichtiger wird). Auch gibt es den VC6-Class-Wizard wieder ;)
Hab leider keine Screen-Shots… aber am 13.11. werden die Videos auf Channel9 veröffentlicht.
Heute gibt es das Video: “C++ 10: 10 is the new 6, Amit Mohindra”.
Heute wird es auch eine Session über “Bringing out the Best in Multicore Systems” und “Bulding fast and secure native applications with VSTS2008″. Ansonsten werde ich heute noch ein bisschen arbeiten…

Das Video ist auf jeden Fall zu Empfehlen:
http://channel9.msdn.com/posts/VisualStudio/Visual-Studio-2010-Overview/

TechEd Developer Barcelona - Tag 1

Monday, November 10th, 2008

So, gestern bin ich hier in Barcelona am späten Abend angekommen um ab heute an der TechEd-Developers teilzunehmen. Leider gibt es dieses Jahr von MS keinen Bus-Transfer zum Conference-Center. Auch MS muss wohl sparen… also ein Taxi genommen (28,40 Eur) um zum Hotel zu kommen.
Heute morgen zuerst mal gemütlich gefrühstückt und dann am Strand entlang zum CCIB (Conference Center) gelaufen. Dort dann registriert. Es gibt dieses Jahr wieder die gleiche Tasche wie letztes Jahr… da ich als ATE (Ask the Expert) da bin und ich nix dafür bezahlen muss (ich bekomme aber auch nix), war meine Tasche *leer*! Naja, ist auch nicht so schlimm. Kann ich doch auch auf die ganze Werbund verzichten die da sonst immer so mitkommt. Immerhin konnte ich mir noch einen Conference Guide (kleines Büchlein) besorgen.
Heute geht es erst um 14:00 Uhr mit der Keynote los. Davor gibt es natürlich ab 11:30 Uhr noch Mitagessen ;)
Die erste Session beginnt dann um 16:00 Uhr. Entweder gehe ich zu “Sharepoint Technology: Past, Present and Future in SaaS World” (finde Sharepoint faszinierend), oder zu “.NET Framework: Application Life Cycle Best Practices”. Mal schauen.
Die zweite Session ist dann um 17:45 Uhr: Entweder “Best Practices for Managing Project with VSTS” oder “Buildung Data Visualization Apps with WPF” (wobei das hab ich schon oft gesehen und gemacht ;) ).
Ab 19:00 Uhr hat dann der ATE-Stand offen, wo ich auf dem “Application Readiness”-Stand bin. Hab zwar keine Ahnung was das genau ist, aber ich werde mich bemühen (vermutlich AppCompat / x64 / Signing / Porting / usw. das passt ja dann auch genau in mein Profil ;) )

Lizensierungs-Übersicht!

Wednesday, October 22nd, 2008

Wer sich ein wenig mit MS Produkten auskennt der weiß, dass es sehr komplex werden kann, wenn es um Lizenzierung geht.
Im MS-Partner-Programm gibt es jetzt dazu eine Übersicht für die wichtigsten Produkte.

Und hier speziell die Übersicht über VS2008.

Ausblick auf VS2010 und .NET 4

Monday, September 29th, 2008

Vor ein paar Tagen wurde ein grober Ausblick auf VS2010 und .NET 4 vorgestellt. Hier ein paar Links dazu:

Microsoft International Conference Call

Thursday, June 26th, 2008

Falls mal jemand sehen will, wie bei Microsoft ein internationaler Conference-Call funktioniert und was für tolle Acronym-Bücher es bei MS gibt, der sollte unbedingt das Folgende Video ansehen:

Here is the link:
http://www.dailymotion.com/video/x1voa_international-conference-calls_shortfilms

Native SOAP-Toolkit!?

Thursday, June 12th, 2008

For langer, langer Zeit gab es mal das SOAP Toolkit 3.0, mit wlechem man in Native-Code direkt Web-Services ansprechen konnte.
Leider wurde dieses Toolkit nie wirklich weiterentwickelt und der Support wurde im April 2005 aufgegeben. Von Microsoft gibt es somit gerade keine (direkte) Unterstützung von SOAP für die native C/C++-Welt (ok, es gibt diverse andere Alternativen wie z.B. gSOAP).

Beim durchstöbern der Grobbeschreibungen zu den PDC2008 Sessions in Los Angeles, ist mir Folgendes aufgefallen:

Windows 7: Web Services in Native Code
Windows 7 introduces a new networking API with support for building SOAP based web services in native code. This session will discuss the programming model, interoperability aspects with other implementations of WS-* protocols and demonstrate various services and applications built using this API.

Hmm… es scheint so, also ob die native-Welt doch nicht ganz ausgestorben ist ;)

Windows selber Kompilieren!?

Tuesday, May 27th, 2008

Es wäre doch schön, wenn man sein Windows selber kompilieren, damit rumspielen und anpassen könnte.
Dieser Traum wird nun (teilweise) Wirklichkeit! Zumindest für Akedemische Institute (z.B. Unis, FHs) und deren Studenten. Man kann selber den Windows-Kernel kompilieren und so die “tiefen” Dinge eines Betriebssystemes besser kennenlernen. Man kann natürlich auch selber Änderungen vornehmen um zu sehen, wie sich diese dann “Produktiv” auswirken.

Wer sein Prof. mal darauf aufmerksam machen will, hier der Link zum Windows Research Kernel:
http://www.microsoft.com/resources/sharedsource/licensing/researchkernel.mspx

Videos vom 17.4. in Frankfurt (VC++ Produkt-Team)

Tuesday, May 27th, 2008

Die meisten von Euch werden wohl nicht in Frankfurt gewesen sein, als jemand vom VC++ Produkt-Team da war.
Christian Binder hat aber alles aufgenommen und man kann sich die Videos runterladen und ansehen:
http://blogs.msdn.com/cbinder/archive/2008/05/27/videos-das-neue-c-feature-pack-und-vsts-f-r-native-c-developer.aspx

Windows Server 2008 aktivieren

Tuesday, May 13th, 2008

Nachdem ich hier mal Testweise einen Windows-Server 2008 (mit MAK 2.0 Key) unter Virtual Server 2005 installiert habe und diese installation nun schon einige Wochen läuft, wollte ich endlich mal den Server aktivieren…
Leider kann ich die Aktivierung irgendwie nirgends finden… nach dem Einloggen kommt aber immer die Meldung, dass der Server nicht aktiviert werden konnte und der Testzeitraum noch gültig wäre… das ist er aber nur noch einige Tage…

Mir war es nicht möglich irgendwo irgendetwas zu finden, wie man das Dinge aktiviert… ich konnte nur den KB-Artikel: How to activate Windows Server 2008 Core finden.
Wenn ich aber diesen Befehle ausgeführt habe, kam die Folgende Fehlermeldung:

cscript C:\windows\system32\slmgr.vbs -ato
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
 
Windows Server(R), ServerStandardV edition (guid) wird aktiviert...
Führen Sie "slui.exe 0x2a 0x8007232B" aus, um den Fehlertext anzuzeigen.
Fehler: 0x8007232B

Ein “slui.exe 0×2a 0×8007232B” führt zu der Meldung:

Windows konnte nicht aktiviert werden! 
Beschreibung: Der DNS-Name ist nicht vorhanden.

Naja, sagt auch nicht gerade viel aus… Also, einfach mal in der MVP-Newsgroup gefragt und dort hat mir Mark Heitbrink den Tipp gegeben, dass man zuerst die Seriennummer ändern muss, da der Server mit einer MS-Standard-Nummer installiert wird. Er hat auch gleich gesagt, dass es mit Folgendem Skript geht:

cscript slmgr.vbs -ipk aaaaa-bbbbb-ccccc-ddddd-eeeee

und wunderbar! Die Ausgabe bei mir:

cscript c:\windows\system32\slmgr.vbs -ipk aaaaa-bbbbb-ccccc-ddddd-eeeee
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
 
Der Product Key aaaaa-bbbbb-ccccc-ddddd-eeeee wurde erfolgreich installiert.

Na, dass sieht doch vielversprechend aus… anschliessend gleich nochmals versucht zu aktivieren (hab es tatsächlich ohne Neustart probiert):

cscript C:\windows\system32\slmgr.vbs -ato
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
 
Windows Server(R), ServerStandardV edition (guid) wird aktiviert...
Das Produkt wurde erfolgreich aktiviert.

Wunderbar! So sollte es immer sein! Danke!

Verfügbare Hotfixes für VC2005-SP1 / VC2008 RTM

Wednesday, April 30th, 2008

Es gibt schon einige Hotfixes für VC2005 SP1 und VC2008 RTM. Hier mal eine kurze Übersicht:

Webcasts zum neuen Feature-Pack der MFC/TR1

Wednesday, April 30th, 2008

Bernd Marquardt macht drei Webcasts zum neuen Feature Pack von VC++ 2008.

Die Webcasts sind:

Viel Spass beim anschauen ;)

Günstig VS2008 erwerben

Saturday, April 5th, 2008

Schaut man sich die Preisliste von Zoschke an, so kostet dort Visual Studio 2008 Standard 352 Eur (incl. MwSt).
Man kann aber ganz legal Visual Studio wesentlich günstiger erwerben!

Eine Möglichkeit ist, dass man das Upgrade kauft (232 Eur)! Ja, wirklich! Auch wenn man bisher kein Visual Studio hat, kann man ein Upgrade kaufen! Man benötigt nur die kostenlose Express-Edition oder eine andere IDE. Auf der Microsoft-Website für die Preise und die Updatefähigkeit ist dies beschrieben. Siehe auch: Just upgrade to VS2008! Even without an existing license!

Für diesen Preis hat man dann aber “nur” Visual Studio… man braucht ja auch noch ein OS, Office… (wenn man es noch nicht hat).

Der zweite Weg: Dein Unternehmen wird Microsoft-Partner!
Die Registrierung und Profilierung als Registered-Microsoft-Partner ist kostenlos!

Als Microsoft-Partner kann man dann das sehr kostengünstige Action Pack bestellen. In diesem Pack sind fast alle Microsoft-Produkte enthalten (u.a. viele Lizenzen für Vista, Office, Server 2008, MapPoint, usw.). Wenn man noch zusätzlich einen kostenlosen Online-Webkurs macht (entspricht grob gesagt einer MCP Prüfung), bekommt man noch das Web Solutions Toolkit. Dieses enthält auch wiederum Visual Studio 2008 Standard, aber auch z.B. Expression Studio!

Das Action Pack kostete 320 Eur + MwSt. Man muss aber dazusagen, dass es sich dabei um ein jährliches Abonnement handelt.

Also, wer ein Unternehmen hat, sollte sich das Action Pack mal genauer anschauen…

Neben dem Action Pack gibt es auch noch andere Programme, die sich spziell an ISVs richten:
Empower for ISVs
Dies ist speziell für Software-Entwicklungs-Firmen noch besser. Es beinhaltet u.a. eine MSDN Premium Subscription! Das ganze kostet auch nur 320 Eur + MwSt. Die Anforderungen sind aber etwas stärker.

Treffen mit zwei vom VC++ Produkt-Team in Frankfurt am 17.4.!

Wednesday, March 19th, 2008

Am 17.April 2008 kommen zwei Programm-Manager von VC++ nach Deutschland und veranstalten in Frankfurt ein kostenloses Treffen mit Euch!
Jeder der Interesse hat kann daran teilnehmen. Die Plätze sind aber beschränkt! Also, meldet Euch rechtzeitig an!

In der 3-stündigen, englischsprachigen, Veranstaltung soll es hauptsächlich um die Folgende Themen gehen (und natürlich Euere Fragen):

  • Neue Features in VC2008
  • VSTS (Team System) für VC++
  • MFCNext (Demos mit der neuen / erweiterten MFC)
  • TR1
  • Ein Ausblick auf die kommende(n) Version(en) von VC++

Mehr Infos siehe:
http://blogs.msdn.com/softwarehersteller/pages/cpp2008-4-ffm.aspx

@ADD: Das Treffen findet jetzt in Bad Homburg statt… siehe obiger Link…

Mal wieder ein Doku Fehler in der MSDN

Friday, March 7th, 2008

In der Doku der MSDN stecken viele Fehler drin. Mich wundert es nur, dass teilweise die Fehler so lange unerkannt da drin sind…

Durch einen Kommentar ist mir ein Fehler in meinem Beispiel zum Auslesen der Reparse-Daten (Mount-Point, Junctions) bekannt geworden. Der Fehler beruht darauf, dass ich mich auf die Doku in der MSDN (online und offline) verlassen habe. In der Struktur zu REPARSE_DATA_BUFFER fehlt aber ein Feld (Flags). Dadurch kann man keine sinnvollen SymLink-Daten anzeigen.

Jetzt habe ich mein Beispiel korrigiert und dies auch gleich in der MSDN als Kommentar hinzugefügt

Wie man statisch gegen die C-Runtime (CRT) linkt

Wednesday, March 5th, 2008

In Foren ist einer der häufigsten Fragen:

“Ich kopiere meine (simple) C++ Anwendung auf einen anderen Rechner, aber dort geht diese nicht! Es kommt immer ein Fehler wie ‘Anwendungskonfiguration falsch’ oder ‘SxS Error’. Wie kann ich meine Anwendung dort laufen lassen?”

Das Problem liegt daran, dass per Default gegen die DLL-Version der CRT (C-Runtime) gelinkt wird. Für diie Lösung gibt es nun zwei Antworten:

1. Du musst das passende vcredist_x86.exe auf dem Zielrechner installieren oder mit Deinem Installer die Merge-Modules installieren

Diese Option ist aber meistens zu aufwendig für eine einfache Anwendung. Deshalb rate ich immer zu der zweiten (und aus meiner Sicht besten Lösung):

2. Du musst Deine Anwendung statisch gegen die CRT linken, dann werden die CRT-DLLs nicht benötig und somit gibt es auch nicht den obigen Fehler.

Und bis man das nun wieder jedem erklärt hat, wie man das umstellt habe ich jetzt einen kleinen Screen-Cast (2:12 min) gemacht, der dies schön zeigt:

http://www.kalmbach-software.de/screencasts/VC2008EE-StaticLinkCRT/

PS: Dies geht nicht wenn die EXE/DLL .NET verwendet…

Nun auch in deutsch

Wednesday, March 5th, 2008

So, nun habe ich endlich auch einen Blog in deutscher Sprache. Es ist manchmal doch sehr lästig alles in englisch zu schreiben und so muss man sich manchmal doch aufraffen dies dann zu machen.

Deshalb hoffe ich, dass es für mich einfach sein wird in deutsch auch “kleinere” Dinge zu posten…