Variable für das Programmverzeichnis

Hallo zusammen,
versteckt sich in XP irgendwo eine Variable für das Programmverzeichnis? Hintergrund ist eine unsauber programmierte Installationsroutine, in der meistens eine Variable wie „$dirinstallto2=“%ProgramFiles%\Microsoft SQL Server"" angezogen wird, dann aber in einigen Schritten hart auf c:\program files… gegangen wird.
Bei einigen Maschinen, die nun als Programmverzeichnisse sowohl c:\Programme als auch c:\program files aufweisen, ist die Installation unsauber. Im Installationsscript wird eine Variable für das Programmverezeichnis aber nicht deklariert, sondern sofort genutzt, so daß ich mir nur vorstellen kann, daß es sich im Betriebssystem verbirgt.
Wer kann weiterhelfen.
Gruß
MM

Hallo MM,

Wer kann weiterhelfen.

Max mal die DOS-Box auf und gib den Befehl SET ein. Dieser listet dann die Umgebungsvariablen auf. Für dich dürften

ProgramFiles
und
CommonProgramFiles

von interesse sein.

Bei Win XP findest du noch einige unter:
„START“ -> „Systemsteuerung“ -> „System“ -> TAB „Erweitert“ -> Schaltfläche „Umgebungsvariablen“

MfG Peter(TOO)

Hi Peter,
danke für diese kompetente Antwort. Unter set konnte ich diese auch finden, hier steht „ProgramFiles=C:\Programme“
Nur in der Systemsteuerung finde ich diese an der angegebenen Stelle nicht. Frage: Wo kann diese noch stehen und kann ich diese einfach (evtl nur temporär) ändern, um diese dumme Setup Routine auszutricksen?
Gruß
MM

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Bei einigen Maschinen, die nun als Programmverzeichnisse
sowohl c:\Programme als auch c:\program files aufweisen, ist
die Installation unsauber. Im Installationsscript wird eine
Variable für das Programmverezeichnis aber nicht deklariert,
sondern sofort genutzt, so daß ich mir nur vorstellen kann,
daß es sich im Betriebssystem verbirgt.
Wer kann weiterhelfen.

Ich glaube Du gehst die Sache von der falschen Seite an. Ich tippe eher darauf, dass in der Installationsroutine irgendwo mal statt der Variablen ein fester Eintrag „program files“ verwendet wird. Steht die Variable auch auf „program files“ klappt alles, da beides in den identischen Pfad führt. Steht die Variable auf „Programme“ laufen alle Schritte die auf die Variable zugreifen nach „Programme“ und Teile mit fixer adressierung über „program files“ laufen dann aus dem Ruder.

Daran ändern wirst Du nichts können, denn Du hast vermutlich ja keinen Zugriff auf den Quellcode des Installationsprogramms, wo Du mal eben den fixen Eintrag durch die Variable ersetzen könntest. Workaround wäre, die Variable vorher temporär auch auf „program files“ zu setzen und dann alles dort hinein installieren zu lassen. Ist nicht schön, aber immerhin steht dann alles an einem Ort und sollte somit funktionsfähig sein.

Gruß vom Wiz

Hi,
genau so ist das auch. Nur wie kann ich vorher die Variable temporär auf „program files“ setzen, und dann später zurück?
Danke vorab
MM

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo MM,

danke für diese kompetente Antwort. Unter set konnte ich diese
auch finden, hier steht „ProgramFiles=C:\Programme“
Nur in der Systemsteuerung finde ich diese an der angegebenen
Stelle nicht. Frage: Wo kann diese noch stehen und kann ich
diese einfach (evtl nur temporär) ändern, um diese dumme Setup
Routine auszutricksen?

Müsste wohl irgendwo in der Registry stehen.

MfG Peter(TOO)