Komfortabler Dateimanager mit vielen Funktionen

Programme mit bestimmten Umgebungsvariablen starten

By Sven on 08.12.2006 - 12:41 in Kleine Tools

Die von SpeedCommander und Squeez gemeinsam genutzten Dlls werden im Entwicklungsprozess in einem lib-Ordner abgelegt. Damit die Dlls beim Testen und Debuggen im VC6 auch gefunden werden, muss der lib-Ordner in die PATH-Umgebungsvariable aufgenommen werden.

Schwierig wird es aber, wenn unter x64 auch noch mit VS 2005 die 64-bit Versionen getestet werden müssen. Für eine friedliche Koexistenz von VC6 und VS 2005 werden die mit VS 2005 erzeugten Dlls in den Verzeichnissen ‘lib\x32’ (für 32-bit) und ‘lib\x64’ (für 64-bit) abgelegt. Die Dateinamen der Dlls sind jeweils gleich, so dass ich bisher die PATH-Umgebungsvariable vor dem Start von VS 2005 immer anpassen musste, damit VS 2005 auch die richtigen Dlls laden konnte.

Weit effektiver wäre es natürlich, wenn dies automatisch geschehen würde. Die einfachste Lösung ist sicher eine kleine Batchdatei, welche die Umgebungsvariable setzt und dann die entsprechende IDE startet. Bei jedem Start wäre aber ein aufpoppendes DOS-Fenster zu sehen, was große Abzüge in der B-Note bedeuten würde.

Ich habe mir deshalb ein kleines Windows-Programm geschrieben, was das Anpassen der Umgebungsvariablen und das Starten der IDE übernimmt. Die geänderten Umgebungsvariablen gelten dabei nur für die jeweilige IDE. Damit ist es auch möglich, VC6 und VS 2005 gleichzeitig zu benutzen. Die Steuerung erfolgt über eine kleine INI-Datei. Jedes Programm bekommt seine eigene Sektion, der Sektionsname gilt gleichzeitig als Kommandozeilenparameter. Das aufzurufende Programm wird über den App-Parameter festgelegt. Alle weiteren Parameter in der Sektion entsprechen den gewünschten Umgebungsvariablen. Eine Konfiguration, welche die PATH-Umgebungsvariable ergänzt, sieht z.B. so aus:

[vc6]
App=E:\Visual Studio\Common\MSDev98\Bin\MSDev.exe
Path=%Path%;D:\Visual C++\Libraries\Version 6.10\lib;D:\Visual C++\Libraries\Version 6.00\lib

Anstatt PATH können natürlich auch alle anderen Umgebungsvariablen geändert und neue Umgebungsvariablen erstellt werden. Die einzige Beschränkung liegt in einer möglichen APP-Umgebungsvariablen, dieser Wert ist für den Programmnamen reserviert und kann daher als Umgebungsvariable nicht geändert werden.

Nach der Erstellung der gewünschten Konfiguration muss nur noch die zu startende Verknüpfung angepasst werden. Das auszuführende Programm wird durch EnvRun.exe /Konfiguration ersetzt, wobei /Konfiguration für die gewünschte Sektion in der INI-Datei steht. Anschließend muss noch das Symbol aktualisiert werden, da EnvRun.exe keine eigenen Symbole enthält. Für das obige Beispiel würde der Aufruf also über EnvRun.exe /vc6 erfolgen.

Wer ebenfalls Bedarf an dieser Lösung hat, der kann sich EnvRun hier herunterladen.

Es gibt einen Kommentar zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. Oliver sagt:

    Ich weiß, daß der Beitrag etwas veraltet ist, aber schonmal an Property-Sheets gedacht? Die wurden in VS 2005 eingeführt und sind für mich immer wieder einer der Höhepunkte. Damit kann man bestimmte Einstellungen einfach in eine Datei auslagern und von dort aus in die einzelnen Projekte laden. Die nennen das Makros, aber es taugt auch zur Deklaration von Umgebungsvariablen. Natürlich ist das in dem geschilderten Fall nur eine Seite der Medaille.

    // Oliver

Top