knumskull
Goto Top

Varibale in Batchskript wird ignoriert. Wert wird aus Registry genommen

Hallo,

ich habe hier ein Tool, welches einen Lizenzserver benötigt. Dieser ist vorhanden und die entsprechenden Informationen liegen in einer Datei 'license.dat'

Das tool selber ist zentral installiert und die Lizenzinformation wird in einer Variable gespeichert.

set LICSERVER=\\host\share\tool\license.dat

start tool.exe

das funktioniert soweit ganz gut, allerdings kommt es zu Problemen, wenn auf dem Rechner, wo es ausgeführt wird, das Tool lokal installiert ist und falsche Lizenzinformationen enthält.

Die Datei 'license.dat' liegt dann irgendwo unter 'C:\Programme\...' und die Information darüber liegt in der Registry
reg query HLKM\Software\tool\environment /s | find "LICSERVER"  
LICSERVER REG_SZ "C:\Programme\tool\license.dat  

wenn das Programm hier gestartet wird, wird zuerst die Information aus der Registry angezogen, welche ja falsch ist. Gibt es eine Möglichkeit, wie ich es verhindern kann, dass das tool auf die Registry zugreift?

Gruß,
Steffen

Content-ID: 128964

Url: https://administrator.de/forum/varibale-in-batchskript-wird-ignoriert-wert-wird-aus-registry-genommen-128964.html

Ausgedruckt am: 23.12.2024 um 11:12 Uhr

icsat
icsat 09.11.2009 um 14:33:45 Uhr
Goto Top
Hallo Knumskull,

passiert in Deinem Batch nach dem Aufruf noch mehr?

Versuche statt "start tool.exe" mal "call tool.exe" oder "tool.exe" zu verwenden.


Gruß icsat
Knumskull
Knumskull 09.11.2009 um 14:43:33 Uhr
Goto Top
das "call" führt zum selben Problem.

unkommentiert hier mal die Rountine, die aufgerufen wird.

das Tool wird einfach folgendermaßen aufgerufen

'tool.exe inputfile configfile'

:DO_CONVERT
rem +-----------------------------------------------+
rem + MAIN - Konvertierung starten                  +
rem +-----------------------------------------------+
echo /----------------------------------------------/
echo / Konvertierung wird gestartet ...             /
echo /----------------------------------------------/
pushd %~dp1
for /f "usebackq tokens=1" %%a in (`chdir`) do (   
  set drive=%%a
)
cd /D %USERPROFILE%
rem start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
@call %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
if errorlevel 9606 call :ERROR_LIC
popd
Miyamoto
Miyamoto 09.11.2009 um 14:50:39 Uhr
Goto Top
Hi,
wenn du weißt das der Eintrag in der Registry falsch ist den Lösch ihn doch oder ersetze ihn durch den richtigen Eintrag.
Knumskull
Knumskull 09.11.2009 um 14:55:54 Uhr
Goto Top
Zitat von @Miyamoto:
Hi,
wenn du weißt das der Eintrag in der Registry falsch ist den
Lösch ihn doch oder ersetze ihn durch den richtigen Eintrag.

Das ist leicht gesagt. Bei einer Userzahl von 50 und ca. 70 Rechnern, kann ich nicht genau sagen, wann das Problem auftritt. Ich möchte ja nur, dass mein Skript immer läuft. Egal was auf dem Rechner noch so herumgeistert.

Desweiteren kann ich auf den Rechnern nicht einfach was löschen, da ich nicht immer Adminrechte besitze und die Anwender schomal gleich gar nicht.

Gruß,
knums
icsat
icsat 09.11.2009 um 14:59:02 Uhr
Goto Top
Hallo Knumskull,

dann hatte ich Dich wohl falsch verstanden, ich dachte "tool.exe" soll sich die Variable von alleine ziehen.
Wenn ich das jetzt richtig verstehe übergibst Du den Wert mit "%JT_CONFIG%".

Demnach sollte ein
echo %JT_CONFIG%
vor Deinem Aufruf auch den falschen Wert ausgeben oder wird der richtige Wert übergeben, nur Dein Programm "JT_EXEC" berücksichtigt den nicht richtig?

Handelt es sich hier um ein eigenes Batch das aufgerufen wird? Oder eine Routine in einem größeren Batch?
Wo wird "JT_CONFIG" gesetzt?

Gruß
icsat
Knumskull
Knumskull 09.11.2009 um 15:09:01 Uhr
Goto Top
JT_CONFIG ist eine Konfigurationsdatei für das tool selber. Diese muss nicht weiter beachtet werden.

ich habe noch ein 2. Batch-file, wo gewisse Variablen gesetzt werden.

jt_config.bat
rem + Version wird als Parameter uebergeben
@set JT_VERSION=%1
rem + Root-Verzeichnis JT-Converter
@set JT_ROOT=%PLS_ROOT%\%ARCH%\JTTranslators\CATIAV5
rem + Installationsverzeichnis JT-Converter Versionsspezifisch
@set JT_HOME=%JT_ROOT%\%JT_VERSION%

rem + same as JT_HOME
set EAI_INSTALL=%JT_HOME%
rem + Lizenzfile JT-Converter
set TCVIS_LICENSE_FILE=%~dp0license.dat
set USGLMD_LICENSE_FILE=%TCVIS_LICENSE_FILE%

rem + Pfad anpassen, damit JT-Converterbefehle im System bekannt sind
@set PATH=%JT_HOME%;%PATH%

diese Datei wird mittels
call %~dp0jt_config.bat
geladen

Die gesamte Routine klappt. Also in dem Skript ist im Ablauf kein Fehler. Alle notwendigen Informationen werden während der Laufzeit gesetzt.

Das einzige Problem mit dem ganzen ist, wenn die Software lokal installiert ist und falsche Infos in der Registry stehen. Wenn keine Infos in der Registry vorhanden sind, gibt es wie gesagt, keine Probleme
icsat
icsat 09.11.2009 um 15:31:25 Uhr
Goto Top
Leider habe ich immer noch nicht verstanden wo die Variable "JT_CONFIG" versorgt wird. Was ich aber bisher gesehen und verstanden habe wird das schon richtig sein. Dann bleibt eigentlich nur die Vermutung, dass deine "EXE" (JT_EXEC) den zweiten Parameter ignoriert.

Mein Verständnis bisher. Du hast ein Ablaufskript:
.
call %~dp0jt_config.bat
.
call :DO_CONVERT
.
exit
.
:DO_CONVERT
.
das in etwa so aussieht.

Bau doch in die Routine mal folgendes ein:
:DO_CONVERT
rem +-----------------------------------------------+
rem + MAIN - Konvertierung starten                  +
rem +-----------------------------------------------+
echo /----------------------------------------------/
echo / Konvertierung wird gestartet ...             /
echo /----------------------------------------------/
pushd %~dp1
for /f "usebackq tokens=1" %%a in (`chdir`) do (   
  set drive=%%a 
)
cd /D %USERPROFILE%
echo start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
pause
start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
if errorlevel 9606 call :ERROR_LIC
popd

Zeigt das Echo die richtigen Übergabewerte an, dann ignoriert Deine "EXE" die Werte.
Zeigt Echo die falschen Werte an, dann werden Deine Variablen nicht richtig versorgt.


Gruß
icsat
Knumskull
Knumskull 09.11.2009 um 15:46:49 Uhr
Goto Top
set TCVIS_LICENSE_FILE=%~dp0license.dat 
set USGLMD_LICENSE_FILE=%TCVIS_LICENSE_FILE% 

das sind die wichtigen Zeilen für die Lizenz

in der Variabln %JT_CONFIG% stehen nur Sachen drin, die des Tool selbst betreffen, allerdings keine Informationen zur Lizenz etc.

Auszug
EAITranslator {
	OutputDirectory = "C:\Temp"  
	chordalOption = "RELATIVE"  
	structureOption = "PER_PART"  
	writeWhichFiles = "ALL"  
	pmiOption = "PART_AND_ASM"  
	partMonitor = false
	JtFileFormat = "9"  
	triStripOpt = true
	seamSewing = false
	seamSewingTol = 0.001
	includeBrep = true
	autoNameSanitize = true
	updateChangedPartsOnly = false
	writeAsciiAssembly = false
	singlePartsNoAssem = true
	autoLowLODgeneration = true
	smartLODgeneration = false
	numLODs = 3
	verboseReporting = false
}


Aufruf (mit echo %JT_EXEC% ...)
start /B /WAIT \\SERVER\JTTranslators\CATIAV5\6.1\jt_catiav5.exe Z:\xyz.CATPart \\SERVER\JTTranslators\converter_configs\catiatojt.config
Iwan
Iwan 09.11.2009 um 16:04:23 Uhr
Goto Top
hallo,

bietet das Programm vielleicht beim Aufruf die Möglichkeit, die licence.dat per Parameter gleich mitzugeben?
icsat
icsat 09.11.2009 um 16:06:03 Uhr
Goto Top
Du sagst:
'tool.exe inputfile configfile'

und
start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%

Deshalb musst Du doch auch irgendwo die Variablen deklariert habe:
set JT_EXEC=tool.exe
set JT_CONFIG=\\host\share\tool\license.dat

Oder reden wir seit ca. 1,5 Stunden an einander vorbei und irgendwo steht:
set JT_CONFIG=jt_config.bat
Und Deine eigentliche Frage lautet, dass dein Programm "Tool.exe" nicht die von Dir gesetzte Umgebungsvariable
set LICSERVER=\\host\share\tool\license.dat
sondern den Registry Wert
LICSERVER REG_SZ "C:\Programme\tool\license.dat"
verwendet.

Irgendwie bin ich grad etwas verwirrt.

Haben wir tatsächlich die ganze Zeit an einander vorbei geredet, dann bleiben eigentlich nur die Lösungen, die von den Menschen mit mehr Durchblick schon genannt wurden:

Zitat von @Miyamoto:
Hi,
wenn du weißt das der Eintrag in der Registry falsch ist den
Lösch ihn doch oder ersetze ihn durch den richtigen Eintrag.
Wobei Du die Variante ja bereits ausgeschlossen hast.

Zitat von @Iwan:
hallo,

bietet das Programm vielleicht beim Aufruf die Möglichkeit, die
licence.dat per Parameter gleich mitzugeben?
Bietet Dein Programm diese Möglichkeit bisher nicht musst Du wohl oder übel das Programm anpassen.


Gruß
icsat
Knumskull
Knumskull 09.11.2009 um 16:51:49 Uhr
Goto Top
Ich glaube wir haben wirklich aneinander vorbei geredet face-smile

dann hier doch mal das ganze skript. Ich hoffe es ist leserlich.

Wenn ich das Programm anpassen könnte, hätte ich es schon lange getan. Aber bei closed Source ist dies leider nicht möglich

@echo off

setlocal
rem +-----------------------------------------------+
rem + CAE-Environment                               +
rem +-----------------------------------------------+
set SAMBA_HOME=\\SERVER\appl

rem +-----------------------------------------------+
rem + Output-Header                                 +
rem +-----------------------------------------------+
cls
echo /----------------------------------------------/
echo / JT-Converterskript                           /
echo /----------------------------------------------/

rem +-----------------------------------------------+
rem + Declarations                                  +
rem +-----------------------------------------------+
rem sets the Converter-Version
set JT_CONVERTER_VERSION=%1
shift /1

set JT_HOME=%SAMBA_HOME%\pls\win32\JTTranslators\CATIAV5\%JT_CONVERTER_VERSION%
rem converter executable
set JT_EXEC=%JT_HOME%\jt_catiav5.exe
rem converter configfile
rem set JT_CONFIG=%SAMBA_HOME%\pls\_admin\converter_configs\tessCatia_Lo.config
set JT_CONFIG=%SAMBA_HOME%\pls\_admin\converter_configs\catiatojt.config

rem Get Outputdirectory
call :GET_OUTPUT 

rem wenn keine Datei uebergeben, dann Hilfe aufrufen und Tool beenden
if "%1"=="" call :USAGE %Output_DIR%  

rem source jt-settings
call %SAMBA_HOME%\pls\_admin\jt_config_v2.bat %JT_CONVERTER_VERSION%


:LOOP
rem +-----------------------------------------------+
rem + LOOP - Fuer das Input von mehreren Files      +
rem +-----------------------------------------------+ 
call :DO_CONVERT %1
shift /1
if not "%1"=="" goto :LOOP  
call :OPEN_OUTPUTDIR
goto :eof

:DO_CONVERT
rem +-----------------------------------------------+
rem + MAIN - Konvertierung starten                  +
rem +-----------------------------------------------+
echo /----------------------------------------------/
echo / Konvertierung wird gestartet ...             /
echo /----------------------------------------------/
pushd %~dp1
for /f "usebackq tokens=1" %%a in (`chdir`) do (   
  set drive=%%a
)
cd /D %USERPROFILE%
echo start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG%
if errorlevel 9606 call :ERROR_LIC
popd

echo /----------------------------------------------/
echo / Konvertierung beendet                        /
echo /----------------------------------------------/
goto :eof


rem +-----------------------------------------------+
rem + Final - Outputdirectory oeffnen               +
rem +-----------------------------------------------+
:OPEN_OUTPUTDIR
rem Explorer mit output-DIR oeffnen
call explorer.exe %Output_DIR%
echo /----------------------------------------------/
echo / Press any Key for exit                       /
echo /----------------------------------------------/
pause >NUL
goto :eof

rem +-----------------------------------------------+
rem + Subroutinen                                   +
rem +-----------------------------------------------+

rem +-----------------------------------------------+
rem + Output, wenn ein Fehler auftritt              +
rem +-----------------------------------------------+
:ERROR
echo /----------------------------------------------/
echo / Fehler:
echo / %1
echo /
echo /----------------------------------------------/
goto :eof

rem +-----------------------------------------------+
rem + Help-Funktion                                 +
rem +-----------------------------------------------+
:USAGE
cls
echo /----------------------------------------------/
echo / USAGE:
echo / Um den Converter zu benutzen, muss das zu
echo / konvertierende File auf die Verknuepfung des
echo / JT-Converters gezogen werden.
echo / Die konvertierten Dateien werden in folgendem
echo / Verzeichnis abgelegt:
echo / ----
echo / %1
echo /
echo /----------------------------------------------/
echo / Press any Key for exit                       /
echo /----------------------------------------------/
pause >NUL
exit 1
goto :eof

rem +----------------------------------------------------+
rem + Function to get Outputdirectory from JT-configfile +
rem +----------------------------------------------------+
:GET_OUTPUT
more %JT_CONFIG% | find "OutputDirectory" > %TEMP%\_jtconvert.log  
for /F "tokens=2,3 delims= " %%a in (%TEMP%\_jtconvert.log) do @echo %%b > %TEMP%\_jtconvert.log  

set /p Output_DIR_temp=< %TEMP%\_jtconvert.log
set Output_DIR=%Output_DIR_temp:~1,-2%

rem Outputdir ausgeben
echo / Output-Directory: %Output_DIR%

if not exist %Output_DIR% (
  mkdir %Output_DIR%
  if errorlevel 1 (
    call :ERROR "Kann %Output_DIR% nicht anlegen"   
  ) else (
    echo / Ordner '%Output_DIR%' erfolgreich angelegt  
  )
)
rem Temporäre Datei löschen
del /f /q  %TEMP%\_jtconvert.log
goto :eof


rem +----------------------------------------------------+
rem + Lizenzerror ueberpruefen                           +
rem +----------------------------------------------------+
:ERROR_LIC
set datum=%date:~6,4%-%date:~3,2%-%date:~0,2%
set ERROR_FILE=%USERPROFILE%\Desktop\JTconvert_error_lic_%datum%.txt
cls
color CF
echo /----------------------------------------------/
echo / Probleme mit Lizenzinformationen             /
echo /----------------------------------------------/
echo / Bitte senden Sie eine E-Mail mit folgenden   /
echo / Informationen an den CAE-Support             /
echo /                                              /
echo / E-Mail:  mail@provider           /
echo / Betreff: Lizenzproblem mit JTconverter       /
echo /                                              /
echo / Vergessen Sie nicht folgende Datei an die    /
echo / Mail anzuhaengen.                            /
echo /----------------------------------------------/
echo / %ERROR_FILE%
echo /----------------------------------------------/


rem +-----------------------------------------------+
rem + Ueberpruefen ob falsche Reg-Eintraege         +
rem + vorhanden sind                                +
rem +-----------------------------------------------+
for /d %%a in (Siemens UGS) do (
  for /d %%b in (TCVIS_LICENSE_FILE USGLMD_LICENSE_FILE) do (
    for /f "usebackq tokens=3" %%c in (`"%~dp0check_registry_license.bat" %%a %%b`) do (  
	  set %%b_NEW=%%c
	)
  )
)
echo. > "%ERROR_FILE%"  
rem +-----------------------------------------------+
rem + Unterschiede der Lizenzfiles in Logfile       +
rem + schreiben                                     +
rem +-----------------------------------------------+
if "%TCVIS_LICENSE_FILE_NEW%"=="%USGLMD_LICENSE_FILE_NEW%" (  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%"  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%"  
) else (
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%"  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%"  
  fc /L %USGLMD_LICENSE_FILE_NEW% %USGLMD_LICENSE_FILE% >> "%ERROR_FILE%"  
)

rem +-----------------------------------------------+
rem + Systeminformationen zusaetzlich ins Logfile   +
rem + schreiben                                     +
rem +-----------------------------------------------+
echo /----------------------------------------------/ >> "%ERROR_FILE%"  
echo / Systeminformationen                          / >> "%ERROR_FILE%"  
echo /----------------------------------------------/ >> "%ERROR_FILE%"  
echo Logged in User: %USERNAME% >> "%ERROR_FILE%"  
echo Computername:   %COMPUTERNAME% >> "%ERROR_FILE%"  
echo Userprofilpfad: %USERPROFILE% >> "%ERROR_FILE%"  

echo.
echo /----------------------------------------------/
echo / Press any Key for exit                       /
echo /----------------------------------------------/
pause >NUL
exit 1
goto :eof

endlocal
60730
60730 09.11.2009 um 19:15:33 Uhr
Goto Top
Servus,

ich hab deinen Beitrag "irrtümlich" als Anspruchsvoll deklariert...
Mea Culpa face-wink

  • Es heißt Variable - in solchen Fällen bin ich aber gerne Vandale Kanibale behilflich face-wink

Es ist doch ganz einfach...

Wenn die beiden nicht identisch sind - hagelt es?

fc /b "C:\Programme\tool\license.dat  \host\share\tool\license.dat && echo alles in Butter|| copy \host\share\tool\license.dat C:\Programme\tool\license.dat  

Ansonsten ist meine "denke" - und da irre ich mich fast nie...

In Fragen, die eine spezielle Software angeht - speziell wenn es sich um Lizensdatei "Fehler" geht..

Gibt es genau einen Ansprechpartner...

back-to-topDen Hersteller..........


11 Beiträge für nix und wiedernix - einmal um den heissen Brei und zurück face-wink
allerdings kommt es zu Problemen, wenn auf dem Rechner, wo es ausgeführt wird, das Tool lokal installiert ist
Dann deinstalliert man das einfach "lokal"

Gruß
Knumskull
Knumskull 09.11.2009 um 19:53:47 Uhr
Goto Top
Zitat von @60730:
Servus,

ich hab deinen Beitrag "irrtümlich" als Anspruchsvoll
deklariert...
Mea Culpa face-wink
dein Pech, wohl falsch eingeschätzt. Hätte ich niemals geamcht.

  • Es heißt Variable - in solchen Fällen bin ich aber gerne
Vandale Kanibale behilflich face-wink

irren ist menschlich face-smile

Es ist doch ganz einfach...

Wenn die beiden nicht identisch sind - hagelt es?

> fc /b "C:\Programme\tool\license.dat   
> \host\share\tool\license.dat && echo alles in Butter|| copy
> \host\share\tool\license.dat C:\Programme\tool\license.dat
> 

mache ich ja hier, nur halt nicht statisch
rem +-----------------------------------------------+
rem + Ueberpruefen ob falsche Reg-Eintraege         +
rem + vorhanden sind                                +
rem +-----------------------------------------------+
for /d %%a in (Siemens UGS) do (
  for /d %%b in (TCVIS_LICENSE_FILE USGLMD_LICENSE_FILE) do (
    for /f "usebackq tokens=3" %%c in (`"%~dp0check_registry_license.bat" %%a %%b`) do (  
	  set %%b_NEW=%%c
	)
  )
)
echo. > "%ERROR_FILE%"  
rem +-----------------------------------------------+
rem + Unterschiede der Lizenzfiles in Logfile       +
rem + schreiben                                     +
rem +-----------------------------------------------+
if "%TCVIS_LICENSE_FILE_NEW%"=="%USGLMD_LICENSE_FILE_NEW%" (  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%"  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%"  
) else (
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%"  
  echo /----------------------------------------------/ >> "%ERROR_FILE%"  
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%"  
  fc /L %USGLMD_LICENSE_FILE_NEW% %USGLMD_LICENSE_FILE% >> "%ERROR_FILE%"  
)

Ansonsten ist meine "denke" - und da irre ich mich fast
nie...

In Fragen, die eine spezielle Software angeht - speziell wenn es sich
um Lizensdatei "Fehler" geht..

Gibt es genau einen Ansprechpartner...

back-to-topDen Hersteller..........


11 Beiträge für nix und wiedernix - einmal um den
heissen Brei und zurück face-wink
> allerdings kommt es zu Problemen, wenn auf dem Rechner, wo es
ausgeführt wird, das Tool lokal installiert ist
Dann deinstalliert man das einfach "lokal"

Ich wollte ja nur eine Möglichkeit, die Registry zu umgehen. Eine einfache Antwort hätte gereicht und ich wollte eine Lösung, bei der ich weniger Nacharbeit habe.

Gruß

Grüße zurück.
icsat
icsat 09.11.2009 um 20:13:46 Uhr
Goto Top
Sorry, irgendwie stand ich wohl etwas auf der Leitung. Manchmal ist es wirklich von Vorteil wenn man lesen kann.

Ich gebe TimoBeil recht, eine Möglichkeit wäre die richtige Lizenzdatei auf den lokalen Arbeitsplatz zu kopieren, wenn die laut Registry dort erwartet wird.
Und man könnte das Tool auch auf den lokalen Plätzen deinstallieren.

Zitat von @60730:
Gibt es genau einen Ansprechpartner...

back-to-topDen Hersteller..........

Ich glaube nicht, dass der Softwarehersteller in diesem Fall für das Problem verantwortlich ist.

Woher nimmt die Software eigentlich die Info, wo die Lizenzdatei abgelegt ist, wenn das Tool nicht lokal installiert ist? Gibt es dort auch einen Registry-Key?


Gruß
icsat
Knumskull
Knumskull 09.11.2009 um 20:38:28 Uhr
Goto Top

Woher nimmt die Software eigentlich die Info, wo die Lizenzdatei
abgelegt ist, wenn das Tool nicht lokal installiert ist? Gibt es dort
auch einen Registry-Key?


diese Infos stehen in folgenden Variablen


set TCVIS_LICENSE_FILE=%~dp0license.dat 
set USGLMD_LICENSE_FILE=%TCVIS_LICENSE_FILE%

die Datei License.dat liegt an der gleichen Stelle wie das Startskript. In dem Fall auf dem Server

und die Registry hat, insofern sie vorhanden ist folgende Einträge
TCVIS_LICENSE_FILE REG_SZ "C:\Programme\tool\license.dat"  
USGLMD_LICENSE_FILE REG_SZ "C:\Programme\tool\license.dat"  

gruß,
knums
Knumskull
Knumskull 09.11.2009 um 20:40:06 Uhr
Goto Top
> fc /b "C:\Programme\tool\license.dat   
> \host\share\tool\license.dat && echo alles in Butter|| copy
> \host\share\tool\license.dat C:\Programme\tool\license.dat
> 

schonmal probiert als Standard-benutzer in den Ordner C:\Programme etwas hineinzukopieren?

LG
60730
60730 09.11.2009 um 20:59:13 Uhr
Goto Top
Zitat von @icsat:
Ich glaube nicht, dass der Softwarehersteller in diesem Fall für das Problem verantwortlich ist.

Nein, dass ist dann schon der Thread Owner...
Nur kennt sich ja wohl niemand, als der Hersteller besser mit dem Tool aus und kann auch im Gegensatz zu uns etwas dazu sagen, warum denn die Lizenzdatei nötig ist....

Mal ganz scharf nachgedacht...

Und "ja" auch ich installiere Software im Programme Ordner -nur mache ich das dann auch richtig - vorher die Rechte für den Ordner ändern face-wink
PS: Irgendwie muß das Tool ja auch auf die Systeme gelangt sein...

Dieser Thread wird eine Never Ending Story und Aktenzeichen XY ungelöst läßt grüßen....

Bye
icsat
icsat 09.11.2009 um 21:17:23 Uhr
Goto Top
Sorry, ich bin dann wohl mal raus, mir fällt nichts mehr dazu ein.

Ich sehe eigentlich nur drei Chancen:
  • Deinstallieren der lokalen Installation auf den betroffenen Rechnern
  • Einmaliges Kopieren der Zentralen (korrekten) Lizenzdatei auf alle Clients, auf denen eine fehlerhafte Lizenzdatei vorhanden ist. Das müsste wegen der Berechtigungen dann eine zentral gesteuerte Aktion sein.
  • Ändern des Registry Keys auf den betroffenen Rechnern. Auch das müsste dann eine einmalige zentrale Aktion sein.

Gruß
icsat
icsat
icsat 09.11.2009 um 21:35:21 Uhr
Goto Top
Zitat von @60730:
Nur kennt sich ja wohl niemand, als der Hersteller besser mit dem
Tool aus und kann auch im Gegensatz zu uns etwas dazu sagen, warum
denn die Lizenzdatei nötig ist....
Nur bringt es dem TO auch nix, wenn der Hersteller ihm erzählt wozu die Lizenzdatei nötig ist.

Zitat von @60730:
Und "ja" auch ich installiere Software im Programme Ordner
-nur mache ich das dann auch richtig - vorher die Rechte für den
Ordner ändern face-wink
Für mich wäre es über unsere Softwareverteilung auch kein Problem Rechte zu setzen, eine Datei auszutauschen, einen Registry Key zu ändern, Software zu installieren oder zu deinstallieren. Aber beim TO sieht das wohl anders aus.

Zitat von @60730:
PS: Irgendwie muß das Tool ja auch auf die Systeme gelangt
sein...
Scheinbar gibt es beim TO dafür keinen geregelten Prozess.

Zitat von @60730:
Dieser Thread wird eine Never Ending Story und Aktenzeichen
XY ungelöst
läßt grüßen....
Trotzdem kann man versuchen zu helfen. Und wäre ich nicht so begriffsstutzig gewesen hätten wir hier so 5-10 Posts weniger.

Zitat von @60730:
Bye
Ich bin dann hier auch mal raus.

PS: Sorry für Off Topic.
Knumskull
Knumskull 09.11.2009 um 21:42:23 Uhr
Goto Top

Nein, dass ist dann schon der Thread Owner...
Nur kennt sich ja wohl niemand, als der Hersteller besser mit dem
Tool aus und kann auch im Gegensatz zu uns etwas dazu sagen, warum
denn die Lizenzdatei nötig ist....

Mal ganz scharf nachgedacht...
Denkst du vorher nach, bevor du schreibst? Ich will die Datei nicht umgehen, brauche ich auch nicht, da ich Lizenzen besitze.

Und "ja" auch ich installiere Software im Programme Ordner
-nur mache ich das dann auch richtig - vorher die Rechte für den
Ordner ändern face-wink
PS: Irgendwie muß das Tool ja auch auf die Systeme gelangt
sein...
Das hat andere Gründe, nur jetzt soll das Tool eben da nicht mehr drauf sein. Und falls es das doch ist, soll es egal sein.

Dieser Thread wird eine Never Ending Story und Aktenzeichen
XY ungelöst
läßt grüßen....

der Duden grüßt auch! ;)
Bye

adieu
60730
60730 10.11.2009 um 00:07:01 Uhr
Goto Top
Zitat von @Knumskull:
Denkst du vorher nach, bevor du schreibst? Ich will die Datei nicht umgehen, brauche ich auch nicht, da ich Lizenzen besitze.

Nein ganz scharf nachgedacht hast du lokale installationen die - wenn Scharf nachgedacht eigentich Lizenzrechtlich laufen müssten.

Den Gag aus einer Einzelplatzversion eine Netzwerkversion zu machen - und scharf nachgedacht - "könnte" was ich dir aber nicht unterstelle - das was du da machst - genau das sein.

Denn entweder ist das Ding lizensiert, dann ist es egal - woher die Lizenzdatei kommt - oder Sie ist es nicht...

Das hat andere Gründe, nur jetzt soll das Tool eben da nicht mehr drauf sein. Und falls es das doch ist, soll es egal sein.
Und die wären?

Gibt es eine Möglichkeit, wie ich es verhindern kann, dass das tool auf die Registry zugreift?

Wenn ich solche Zeilen lese - lese ich sehr genau....
Ganz ehrlich - entweder schaffts du es ein Startscript zu schreiben, das die Software deinstalliert - oder wie bereits angesprochen sprichst mit dem Lizenzgeber.

Oder soll ich Theorem Solutions ltd mal ne Mail schreiben?

Denn das was du da schreibst - hab ich in 24 Jahren Netzwerkern noch nie gesehen - aber sowas wie ADB und LPT Dongels schon face-wink

Btw: Die eine Zeile erübrigt eigentlich den ganzen Thread..
Desweiteren kann ich auf den Rechnern nicht einfach was löschen, da ich nicht immer Adminrechte besitze und die Anwender schomal gleich gar nicht.

Ändern und löschen "dürfte" in deinem Fall das gleiche sein....
Und falls es immer noch Leser geben sollte, die meinen, mir das nicht nachdenken vorwerfen zu müssen..

Was im Systemast der (Registry) gesetzt ist - ist Gesetz - alles andere - wie User Variablen oder Laufzeitvariablen dagegen nicht.

Gruß und sorry, falls ich den Eindruck erweckt habe nur" nachgedacht zu haben und nicht mitgedacht face-wink
Knumskull
Knumskull 10.11.2009 um 08:24:07 Uhr
Goto Top
Okay, ich gebs auf dir das zu erklären.

Nur noch ein paar Sachen mit auf den Weg.

Die Lizenz ist eine Netzwerklizenz, ja sowas solls geben und in der Datei steht einfach nur, "USE_SERVER XYZ"
Deinem erwähntem Hersteller kannst du gern eine Mail schreiben, aber die haben mit meinem Tool nix zu tun.

Ich bin raus,
führt zu nix mehr
60730
60730 10.11.2009 um 11:31:45 Uhr
Goto Top
Servus,

du mußt mir das nicht erklären - aber verstehe - das es quasi unmöglich ist - ohne Adminrechte etwas zu ändern.

Oder andersherum, du bist auf dem Holzweg.

In doppeltem Sinn...

  • ich bin nicht gegen dich..
  • dein Weg / Ansatz ist der falsche...

Gruß
Knumskull
Knumskull 10.11.2009 um 12:12:09 Uhr
Goto Top
Ich wollte ja auf dem System nie was ändern. Nur die Sachen, die eventuell vorhanden sind, ignorieren.

Gruß
60730
60730 10.11.2009 um 12:16:51 Uhr
Goto Top
Zitat von @Knumskull:
Ich wollte ja auf dem System nie was ändern. Nur die Sachen, die eventuell vorhanden sind, ignorieren.

Und genau das ist doch der Holzweg....
siehe:
Was im Systemast der (Registry) gesetzt ist - ist Gesetz...

Aber mal ganz was anderes, was passiert denn nun - wenn das Tool lokal installiert und lokal ausgeführt wird?

"So" würde ich dann wohl eher weiterdenken, obwohl ich mich wiederhole - es ist einfacher / sinnvoller die lokale Installation zu löschen...



Gruß
Knumskull
Knumskull 10.11.2009 um 12:38:54 Uhr
Goto Top
Zitat von @60730:
> Zitat von @Knumskull:
> ----
> Ich wollte ja auf dem System nie was ändern. Nur die
Sachen, die eventuell vorhanden sind, ignorieren.

Und genau das ist doch der Holzweg....
siehe:
> Was im Systemast der (Registry) gesetzt ist - ist Gesetz...

leider. Ein Grund, warum ich das System nicht wirklich mag. ;)

Aber mal ganz was anderes, was passiert denn nun - wenn das Tool
lokal installiert und lokal ausgeführt wird?

lokal ausgeführt wird es nie, das sind "Leichen" aus vergangenen Zeiten. Der Prozess ist jetzt, eine Zentrale Installation, die für alle gleich ist und somit besser wartbar.
Wenn halt noch alte Relikte vorhanden sind, in dem Fall falsche Lizenzinformationen, kommt es zum Lizenzfehler, weil er auf den angegebenen Servern keine gültige Lizenz findet.

"So" würde ich dann wohl eher weiterdenken, obwohl ich
mich wiederhole - es ist einfacher / sinnvoller die lokale
Installation zu löschen...
Ich habe es jetzt so gelöst, wenn Lizenzfehler vorhanden ist, bekommt der Benutzer einen Hinweis sich beim Support zu melden.

Danach bleibt mir nichts weiter übrig, als die "Leichen" zu entfernen. Die Arbeit wollte ich mir halt ersparen.



>
> Gruß

knums