Author Archives: jkalmbach

Native SOAP-Toolkit!?

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!?

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

Windows Server 2008 aktivieren

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 0x2a 0x8007232B” 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

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

Günstig VS2008 erwerben

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.!

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

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

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…