AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Umgebungsvariablen langfristig setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Umgebungsvariablen langfristig setzen

Ein Thema von geisi · begonnen am 30. Mär 2007 · letzter Beitrag vom 11. Apr 2007
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.348 Beiträge
 
Delphi 12 Athens
 
#1

Re: Umgebungsvariablen langfristig setzen

  Alt 5. Apr 2007, 11:31
Das mit dem aktualisieren in DER Anwendung wär eh egal ... die initialisiert nur ein paar Werte in der Registry und beendet sich dann wieder.

Nur brauch ich halt den Wert dann auch gleich nach dem Programmaufruf.

'ne Batchfile ruft anfangs dat Programm auf und wenn noch nicht vorhanden, wird von diesem die Umgebungsvariable installiert, wo der Programmpfad für die weitere installation und den späteren Betrieb drinsteht (brauch halt was, womit auch die anderen Batchfiles mit klarkommen).


Dank' erstmal für das HWND_BROADCAST ... jetzt wird zumindestens Windows schonmal aktualisiert.

Hab's jetzt mal so versucht, aber die Variable is immernoch nicht in der Batchfile verfügbar. ;(
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, Integer(PChar('Environment')), SMTO_BLOCK, 15000, W); 's könnte aber och sein, das CMD die Werte noch nicht hat?
Denn wenn ich danach die Batchfile erneut starte, dann ist der Wert plötzlich vorhanden.


[add]
ich wollt's eigentlich so machen:
(InitializeDefaultDir.exe installiert eventuell die Enviromentvariable)
Code:
@ECHO OFF

ECHO.
ECHO.
ECHO * initialize %%FNSEntProcDir%%

..\InitializeDefaultDir.exe
IF ERRORLEVEL 0   GOTO init

InitializeDefaultDir.exe
IF ERRORLEVEL 0   GOTO init

IF "*%FNSEntProcDir%"=="*" (
  ECHO.
  ECHO the required programm-directoy can't installed
  PAUSE
  GOTO exit
)

:init
ECHO.
ECHO.
ECHO * intall registry values
reg.exe IMPORT RegInstEx.reg
IF ERRORLEVEL 1 (
  PAUSE
  GOTO exit
)

IF "*%FNSEntProcDir%"=="*" (
  ECHO.
  ECHO %%FNSEntProcDir%% not definied
  PAUSE
  GOTO exit
)

ECHO.
ECHO.
ECHO * copy programm files
MD "%FNSEntProcDir%\FileSplitter"
COPY *.cmd "%FNSEntProcDir%\FileSplitter\"
COPY *.reg "%FNSEntProcDir%\FileSplitter\"
COPY *.exe "%FNSEntProcDir%\FileSplitter\"

:exit
Aber anscheinend muß ich dann die Batchfile mehrmals vom Benutzer aufrufen lassen (beim 2. Mal gings ja), oder ihn notfalls zum vorherigen starten dieses Programms auffordern (falls die Variable noch nicht initialisiert wurde).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz