Visual Studio 2005 Express
« | 13 Dec 2020 | »Visual Studio 2005 ist für mich die Brücke zwischen Vergangenheit und Zukunft der Windows Software Entwicklung. Der dortige C++ Compiler (MSVC-8) kann noch Binärdateien für Windows NT 4 und Windows 98 erzeugen, die aber ebenso auf Windows 10 voll funktionsfähig sind.
Außerdem ist der Compiler halbwegs C++ 2003 konform und kann damit fast alles bauen, was ich im Alltag brauche.
Jede Express-Sprache mit eigener IDE
Während die Professional Ausgabe von Visual Studio 2005 eine einzige IDE für
alle Sprachen von C++ über C# bis
VB.NET bereitstellt,
gingen die Express Editionen damals einen ganz anderen Weg:
Jede Sprache hatte ihr eigenes Installationspaket mit einer separaten IDE.
Man konnte bzw. musste mehrere Express Produkte installieren, wenn man
alle Sprachen nutzen wollte:
- Visual C++ 2005 Express Edition
für natives C++ oder C++/CLI - Visual C# 2005 Express Edition
nur für C# Desktop App Entwicklung - Visual Basic 2005 Express Edition
nur für VB.NET Desktop App Entwicklung - Visual Web Developer 2005 Express Edition
für C# und VB.NET nur für ASP.NET Entwicklung - Visual J# 2005 Express Edition
Java-Syntax für dotNET Desktop App Entwicklung
Microsoft hat die Downloads leider offline genommen, doch dank diverser privater Downloadseiten im Netz und archive.org findet man noch einige ISO-Dateien im Netz, die entweder eine einzelne Sprache oder alle gesammelt beinhalten:
http://archive.org/download/visual-studio-express-2005
Problem: Registrierung
Ärgerlich ist, dass nach der Installation einer Expression Edition diese nur 30 Tage funktioniert und man sich danach bei Microsoft kostenlos registrieren müsste um einen Lizenzschlüssel für die weitere Nutzung zu bekommen.
Heute funktioniert diese URL natürlich nicht mehr (wurde so vor 7 Jahren glaube ich eingestellt) und somit kann man offiziell mit diesen kostenlose Produkten nicht mehr arbeiten.
… außer …
man öffnet den Registry Editor und klickt sich durch bis zu:
HKEY_CURRENT_USER\Software\Microsoft
.
Dort findet man Unterordner mit den Namen
VCExpress
VCSExpress
VBExpress
VWDExpress
VJSExpress
und darunter findet man im Ordner \8.0\Registration
den Eintrag Params
mit einem Hexadezimal-String.
Wenn man diesen magischen String durch eine simple “1” ersetzt, kann man die
IDE auch ohne offiziellen Registrierungsschlüssel starten.
Naja … wenigstens ein einfacher “Hack” um damit arbeiten zu können.
C++ ohne WinAPI?
Visual C++ 2005 Express kommt nur mit der C-Runtime und der STL. Die Windows API Header wie auch Link-Libraries fehlen. Und ebenso abgängig sind ATL und die MFC. Da wollte Microsoft wohl wieder Geld mit der Pro-Edition verdienen.
Aber auch hier gibt es einen kostenlosen Weg: Man installiert das kostenlose Platform-SDK aus der damaligen Zeit. Das Platform SDK 2005 für Windows Server 2003 SP1 ist aktuell noch für MSDN Subscribers als Download verfügbar … wer weiß wie lange noch. Das letzte SDK “Platform SDK 2006 for Server 2003 R2” kann ich im Netz leider nicht mehr finden. Zum Glück ist es seit damals bei mir gesichert.
Nach der Installation müssen die Pfade der Header und Link-Libraries noch
gesetzt werden. Das geschieht im Menü unter Tools
- Options
und im Dialog unter Projects and Solutions
- VC++ Directories
.
Dort kann man (leider nur) für die Win32 Plattform die Verzeichnisse
hinzufügen:
Include files
C:\Program Files\Microsoft Platform SDK...\Include
Library files
C:\Program Files\Microsoft Platform SDK...\Lib
Das sollte reichen, damit man native Windows Apps durchkompiliert bekommt.
ATL und MFC sind theoretisch beim SDK auch dabei, nur habe ich die noch nie
in der Express Edition ausprobiert. Mit etwas Glück reicht es vielleicht aus
die entsprechenden Unterverzeichnisse \Include\atl
und \Include\mfc
, sowie
die \Lib
Unterverzeichnisse hinzufügen.
Fazit
Mit VS2005 hat mein C++ Leben so richtig begonnen. Das Einrichten der Express Version war für mich damals anfangs ein Alptraum. Weil ich von VB und C# gewohnt war, dass alles Out-of-the-box läuft, während das “dumme” C++ immer Extraaufwände erzeugte.
Doch nachdem ich diese Schritte auswendig gelernt hatte, konnte ich mich entspannt in die Sprache verlieben.
Heute zieht mich alle 6 Monate mal das GATE Projekt in die gute alte Zeit
zurück, wenn überprüft werden muss, ob eh noch alles mit den alten Compilern
kompatibel ist.
… und das wird hoffentlich auch in Zukunft so weiter gehen.
Über 13 Jahre liegt mein Erstkontakt schon zurück.
Wahnsinn wie die Zeit vergeht!