Installation von VC6 unter Vista

Es ist ein Anachronismus und ich weiß gar nicht warum ich das hier schreibe. 😉 Aber es gibt doch immer wieder Leute die Visual C++ 6.0 bzw. Visual Studio 6.0 auf Vista installieren wollen.

❗ Grundsätzlich rate ich jedem ab, für Neueintwicklungen VC6 weiterhin zu verwenden.
Dieser Compiler und diese IDE sind überaltert und VC2005 ist ein würdiger und wirklich guter Nachfolger. Was die Änderungen bzgl. Wizards etc. betrifft ist es reine Gewöhnungssache.

Nun aber gib es genug Legacy Code der evtl. einen Bugfix braucht. OK Also wie installiert man dann VC6 auf Vista? Bzw. Geht es überhaupt?
Ja! Es geht.

Wichtig ist, nur, dass man UAC für die Dauer der Installation am Besten komplett abstellt. Es genügt IMHO nicht nur das Setup als Admin zu starten. Das erkennt Vista sowie entsprechend und fordert dazu auf. Also bei mir spielte sich die Installation der Visual Studio 6.0 Enterprise Version in etwa so ab:

  • UAC abschalten (am einfachsten über die System-Steuerung) und den Rechner neu starten.
  • Nun unbedingt einen Account verwenden der lokaler Admin ist (Aber das war jedem klar, oder?)
  • VC6 Installation starten. Die nette  Meldung über bekannte Kompatibilitätsprobleme nehmen wir dankbar zur Kenntnis.
  • Jetzt wird evtl. die VM für Java aktualisiert und neu gestartet (was sonst).
  • Zwischendrin erfolgt noch mal eine Warnung über bekannte Kompatibilitätsprobleme die wir wieder gerne quittieren.
  • Nun dürfen wir wie gewohnt installieren. Man kann sich die Data Access Components übrigends sparen. Meistens sind sowieso schon neuere Versionen auf dem Rechner. Gleiches würde ich mit den SDK Tools machen. Diese alten Tools machen manchmal auch Ärger beim registrieren.
  • Irgendwann kommt manchmal noch eine Frage nach den JIT-Debugger  settings, am Besten auch die nicht verändern.
    Und wie gewohnt erfolgt ein Neustart der Maschine am Ende der Installation.
  • Danach VC6 SP6 installieren und Rechner neu starten (was sonst).
    Für SP5 muss man etwas hexen, aber es geht mit Tricks auch.
  • Danach UAC wieder einschalten, und es erfolgt der nächste Neustart 😉


Anmerkungen

  • Der Standard Pfad zum Anlegen der Projekt sollte natürlich nicht verwendet werden. Der liegt dämlicherweise ja unter C:\Program Files, aber ich gehe auch hier davon aus, dass dies logisch ist…
  • Beim ersten Start des Compilers und einiger Tools kommen wieder Meldungen über Kompatibilitätsprobleme (vcspawn.exe, rc.exe), diese schalten wir für immer aus.
  • Man sollte VC6 übrigends auch nicht nach VC2005 installieren. Andernfalls muss man VC2005 einer Reparaturinstallation unterziehen. Einige der Registrierungen für den Explorer werden sonst überschrieben und arbeiten nicht mehr korrekt. Aber das ist ja bei allen Installationen von mehreren VS Versionen schon so gewesen. Immer nacheinander installieren beginnend mit der ältesten Version!

Danach arbeitet VC6 ohne Murren. Wenn man möchte kann man für VC6 (devenv.exe) sogar manuell ein Vista Manifest geben, indem man die entsprechende devenv.exe.manifest Datei erzeugt. Nach Geschmack setzt man requireAdministrator oder asInvoker. Für bestimmte Fälle beim Debuggen bietet sich hier requireAdministrator an.

VS Tipps & Tricks: Kontextmenü für Refactor Befehle in VA-X ab Build 1557

Die Refactoring Befehle in VA-X sind ja schon länger bekannt und sind wirklich ein prima Feature (Build 1534 seit 09.2006).

Nur war es manchmal etwas trickreich an diese Befehle zu kommen. Meistens habe ich die Maus verwendet und über dem Symbol platziert und gewartet, bis das entsprechende Dropdown Symbol aus VA-X erschien. Intuitiv und schnell war das nicht.

Seit dem Build 1557 (052007) finden sich die Refactoring Befehle direkt als erster Menüpunkt im normalen Kontextmenü und sind damit auch über die Tastatur direkt mit der Kontextmenütaste (oder Umschalt+F10) zu erreichen. Ein Grund mehr sich diese Funktionen wirklich mal anzusehen. Sie sind wirklich einen Tipp wert!
Meine Favoriten im Refactoring Menü sind immer wieder Find References und Rename.

Und für alle die meinen ich habe was vergessen oder übersehen: 😉

  • Es gab zwar seit dem Build 1540 einen entsprechenden Befehl den man einem Hotkey zuordnen konnte, aber allzu viele Hotkeys passen in meinen Kopf auch nicht rein.
  • Ja und man kam an diese Befehle auch über Umschalt+Kontextmenütaste erhalten. Nur ist das komplette VA-X Menü leider etwas unaufgeräumt und groß.

VS-Tipps & Tricks: Der Property Manager, der unbekannte Helfer.

Es gibt oft genug die Problematik, dass man eine bestimmte Environment Variable für ein Projekt setzen will, oder auch dass man für eine Gruppe von Projekten ein bestimmtes Include-Verzeichnis hinzufügen will oder bestimmte andere Projekteinstellungen benötigt.

Der bisherige Weg war meistens Handarbeit wenn es um die Projekteinstellungen ging. Bei Environment Variablen hatte man oft genug wenig Chancen.

Ein Weg ist es, einen Batch File zu schreiben, der die Environment Variablen setzt und dann die IDE mit DEVENV /useenv startet. In diesem Fall werden nur die entsprechenden Environment Variablen für LIB/INCLUDES etc. verwendet. Zusätzlich natürlich auch die eigenen spezifizierten.
Das hat aber den Nachteil, dass man nicht vergessen darf die IDE zu verlassen und neu zu starten hat, bevor man ein neues „normales“ Projekt bearbeiten will.
Summa summarum: Geht, ist aber kein guter Weg.

Es gibt eine weitaus effektivere Möglichkeit Projekteinstellungen einfach zu manipulieren und auch einfach für andere Projekte zu übernehmen: Der Property Manager!

Mit dem Property Manager kann man Projekteinstellungen erzeugen und zusammenfassen. Diese Projekteinstellungen lassen sich in einer XML Datei abspeichern (vsprops-Dateien) und auf andere Projekte auf einfache Art anwenden indem man nur die entsprechende Datei in das Projekt in den Projekteinstellungen einfügt.

Das nette ist, dass der Property Manager es auch erlaubt Environment Variablen zu setzen, die dann in den Optionen und auch den Custom-Build-Steps auf einfache Weise über $(MyUserMacro) nutzen lassen.

Und so geht man vor:

  • Über View -> Other Windows holt man sich den Property Manager auf den Bildschirm. Man kann nun sofort sehen welche aktuellen Properties gesetzt sind. (Zum Beispiel sieht man sofort woher zum Beispiel bei konvertierten Projekten das define _VC80_UPGRADE kommt)
  • Man findet zwei Schalter Add New Project Property Sheet um ein neuen Satz Properties anzulegen und Add Existing Property Sheet um ein bereits existierendes Property Sheet anzuwenden (dazu später).
  • Nun kann man einfach wie man es gewohnt ist, die gewünschten Eigenschaften in diesem Sheet einstellen, die man benötigt. Rechter Mausklick oder Doppelklick genügt und man erhält Zugriff auf alle Eigenschaften der Projekte. Ob es nun den Compiler oder Linker betrifft ist egal.
  • Wichtig ist gleich der zweite Eintrag User Macros. Hier kann man nun nach Lust und Laune Environment Variablen und andere defines setzen. Besonders interessant ist hier auch die Möglichkeit Werte anzuhängen an eine bestehende Environemt Variable. Nett für INCLUDE und LIB!

Zuletzt sei erwähnt, dass sich eine solche vsprops Datei auch einfach in ein bestehendes Projekt eingefügt werden kann. Das geht zum einen über den Property Manager mit dem schon erwähnten Schalter Add Existing Property Sheet , oder aber auch direkt über die Projekteinstellungen. Dazu einfach die Projekteigenschaften öffnen und den Abschnitt General auswählen. Dort findet man den Eintrag Inherited Projekt Property Sheets in dem man direkt die entsprechenden vsprops Dateien angeben kann.

❗ Man sollte aber auch daran denken, diese speziellen vsprops Dateien dem eigenen Source Control System hinzuzufügen und auch eine entsprechende Dokumentation dazu anzulegen.
Gut ist es auch ein zentrales Verzeichnis für diese Projekteinstellungen anzulegen um eine einfache Wiederverwendung zu ermöglichen.

Sicherheitsupdate für Microsoft Visual Studio 2005 Service Pack 1 (KB937061) wird immer wieder installiert

Vielleicht geht es einigen von Euch genauso und bekommt von Windows Update das „Sicherheitsupdate für Microsoft Visual Studio 2005 Service Pack 1 (KB937061)“ immer wieder installiert.

Scheinbar trifft es alle diejenigen, die sich Crystal Reports nicht angetan haben, wie z.B. mich. Alle meine 4 Rechner (Vista+XP x86) sind davon betroffen. Dies entnahm ich den Infos eines Microsoft MSFT’s aus diesem Thread. Zitat:

Eric Brodish [MSFT]
If you have VS 2005 SP1 present but the Crystal Reports feature is not present, MS07-052 is re-offered. Customers are protected and are not at risk to this vulnerability We will be updating the detection on Microsoft Update, customers that have already installed this update need to take no action.  We are working to resolve this issue and it should be fixed shortly Thank you Eric

Gleiches scheinen andere auch herausgefunden haben in den MS-Foren

Wie stellt man es ab?

  • Einfach über den IE die Microsoft Update Seite aufrufen.
  • Benutzerdefinierte Suche starten
  • Die Updates anzeigen lassen
  • Den Haken entfernen und zusätzlich den Haken bei „Dieses Update nichtmehr anzeigen“ setzen.

Beschreibung dieses Security Updates:
http://support.microsoft.com/kb/937061

Neues für VC++ 2008 Express

Irgendwie habe ich es gar nicht mitbekommen, aber VC++ Express wird mit der 2008er Version endlich ein „brauchbareres“ Produkt auch für Win32-Entwicklung.

Es wird endlich entsprechende Wizards geben für Win32 Projekte wie, DLLs, statische Libraries etc.
Nur scheinbar scheint der Resource-Editor nicht den Weg in die Express Version gefunden. Auch die MFC+ATL wird nicht Bestandteil der Express Versionen.

Da es keinen RC Kandidat geben wird, befürchte ich, dass der Resource-Editor leider aus dem Produkt draußen bleiben wird. Schade!

Nachzulesen hier:
http://blogs.msdn.com/somasegar/archive/2007/08/11/what-s-new-with-visual-studio-2008-express-editions.aspx
http://blogs.msdn.com/nikolad/archive/2007/07/26/what-s-new-in-visual-c-2008-express-for-beta-2-release-of-visual-studio-2008.aspx

VS-Tipps & Tricks: Tastatureinstellungen einfach auf einen anderen Rechner übernehmen

Unter dem Tools Menüpunkt verbirgt sich eine der schönsten Funktionen der Visual-Studio IDE: Import and Export Settings…

Wenn hat es nicht schon geärgert, wenn man kurze Zeit an einem anderen Rechner sitzt (ja man hat nicht immer Roaming Profiles) und man vermisst die so geliebten individuell eingestellten Shortcuts. Früher hieß dass irgendeinen mysteriösen Registry Ast zu sichern und zu importieren. Heute?

Kein Problem! Auf meinem USB-Stick befindet sich eine Datei Keyboard.vssettings. Mit dieser netten Datei stelle ich sofort meine Einstellungen wieder her. Wie?

Zuerst einmal ertsellen wir diese nette XML-Datei:

  • Dazu wählen wir Tools -> Import and Export Settings…
  • Wir wählen Export selected environment settings
  • Dann wählen wir alles ab indem wir in die Checkbox von All Settings klicken.
  • Jetzt wird in dem Baum unter All Settings -> Options -> Environment -> Keyboard die Checkbox angeklickt.
  • Die Datei speichert man unter einem sinnvollen Namen in C:\Dokumente und Einstellungen\UserName\Eigene Dateien\Visual Studio 2005\Settings

Für den Import geht man so vor:

  • Die Datei kopiert man am einfachsten in den Ordner C:\Dokumente und Einstellungen\UserName\Eigene Dateien\Visual Studio 2005\Settings auf der entsprechenden Maschine. (kann man sich auch sparen und die Datei auf dem Stick lassen)
  • Dann wählen wir Tools -> Import and Export Settings…
  • Wir wählen Import selected environment settings
  • Speichern der aktuellen Einstellungen wenn man will
  • Jetzt sieht man schon die Datei, wenn man Sie in den Ordner kopiert hat, oder man selektiert sie nun direkt vom USB-Stick.
  • Auswählen, was man importieren will. Hier sind natürlich nur die Keyboard settings zu sehen und schon selektiert.
  • Finish und wir haben unsere Einstellungen. Super!

BTW: Dieser Weg eignet sich auch ideal um festzustellen, was man eigentlich umdefiniert hat. Die XML-Datei enthält nur die Änderungen zum angewählten Profil. Damit kann man auch mal wieder auf die Suche gehen, was eigentlich von einem selbst stammt, oder eben Standard ist…

VS-Tipps & Tricks: Command-Prompt öffnen im Projektverzeichnis

Es ist oft genug sinnvoll direkt im Projektverzeichnis eine Eingabe-Konsole zu öffnen. Ich persönliche verwende 4NT von JP-Soft, damit lassen sich viele Sachen weitaus schneller erledigen als mit dem Explorer.

Um schnell eine Eingabefenster zu öffnen kann man sich ein eigenes Tool einrichten.

  • Man klickt auf Tools -> External Tools…
  • Add Schalter anklicken
  • Dem Tool einen Namen geben (z.B. 4NT im Projektverzeichnis)
  • Als Command gibt man %COMSPEC% an
  • Als Argument /k „%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat“ x86
    Durch diese Eingabe werden alle Environment Variablen gesetzt, die z.B. die Tools von VS2005 benötigen oder eben auch der Compiler. Dadurch kann man sofort alle Tools aus VS direkt von der Befehlszeile öffnen.
  • Bei Initial directory gibt man jetzt noch den Makro $(ProjectDir) an

Die entsprechenden Makros und Environment Variablen garantieren, dass die entsprechenden Batchfiles und auch der korrekte Befehlszeileninterpreter gefunden wird. Bei mir eben 4NT und nicht CMD.EXE. Durch die Verwendung von %VS80COMNTOOLS% wird auch der entsprechende Batchfile gefunden, egal wie das Programmverzeichnis heißt.

Der Aufruf von vcvarsall.bat setzt PATH, INCLUDE und LIB Environment-Variablen. Damit kann man alle VS-Tools diekt aus der Befehlszeile nutzen.

Warum ich diese komplizierte Methode gewählt habe? Ich liebe einfach universelle Angaben die man auf jeden Rechner übernehmen kann, egal wo die entsprechenden Softwarekomponenten installiert sind.

VS Tipps & Tricks: Blockmodus aus VC6 in VS.NET 2003 und VS 2005

Viele haben den Blockmodus (Box-Mode) in VC6 über die Tastatur benutzt. Diesen Modus erreichte man über die Tasten Strg+Umschalt+F8. Damit war es einfach Spalten und rechteckige Textbereiche zu markieren und zu bearbeiten.
Diese Operation konnte auch durch das Festhalten der Alt-Taste ausgelöst werden, wenn man mit der Maus den Cursor über einen Bereich zog.

Spätere Visual Studio Versionen haben dafür keinen direkten Hotkey mehr zwischen Box-Mode und Stream-Mode zu wechseln. Das Ganze wurde vereinheitlicht.
Ein Block wird markiert indem die Umschalt+Alt-Taste festgehalten werden und entsprechende Navigationstasten bewegt werden.
Eigentlich logisch und sogar dokumentiert, aber wer liest denn schon die Doku! 😛

http://msdn2.microsoft.com/en-us/library/aa301672(vs.71).aspx
http://msdn2.microsoft.com/en-us/library/729s2dhh(VS.80).aspx

VS Tipps & Tricks: Kann man Intellisense in VS-2005 ausschalten?

Immer wieder klagen User über Abstürze in VS-2005, die scheinbar mit dem Intellisense zusammengehören. Oder es wird von extrem langen Wartezeiten und zähem Verhalten der IDE berichtet. Die Frage ob man also Intellisense abschalten kann wundert nicht.

Ich persönlich kann diese Effekte nicht bestätigen bzw. habe es noch nicht erlebt.
<werbeblock>Ich nutze außerdem Visual-Assist von http://www.wholetomato.com , mit dem wohl besten Intellisense, das man sich vorstellen kann. Ein Blick lohnt sich in jedem Fall!
Vorsicht! Es macht süchtig. Sobald ich an einem Rechner sitze an dem es nicht installiert ist, fühle ich mich, als ob man mir 4 Finger amputiert hat.</werbeblock> 🙂

Aber zurück zur eigentlichen Frage:
Kann man Intellisense ganz ausschalten?

Ja es geht dazu muss man die folgende Datei löschen oder umbenennen:
<VS root path>\VC\vcpackages\feacp.dll