Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Varibale in Batchskript wird ignoriert. Wert wird aus Registry genommen

Frage Entwicklung Batch & Shell

Mitglied: Knumskull

Knumskull (Level 1) - Jetzt verbinden

09.11.2009, aktualisiert 14:22 Uhr, 5817 Aufrufe, 26 Kommentare, 1 Danke

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.

01.
set LICSERVER=\\host\share\tool\license.dat 
02.
 
03.
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
01.
reg query HLKM\Software\tool\environment /s | find "LICSERVER" 
02.
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
Mitglied: icsat
09.11.2009 um 14:33 Uhr
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
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 14:43 Uhr
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'

01.
:DO_CONVERT 
02.
rem +-----------------------------------------------+ 
03.
rem + MAIN - Konvertierung starten                  + 
04.
rem +-----------------------------------------------+ 
05.
echo /----------------------------------------------/ 
06.
echo / Konvertierung wird gestartet ...             / 
07.
echo /----------------------------------------------/ 
08.
pushd %~dp1 
09.
for /f "usebackq tokens=1" %%a in (`chdir`) do (  
10.
  set drive=%%a 
11.
12.
cd /D %USERPROFILE% 
13.
rem start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
14.
@call %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
15.
if errorlevel 9606 call :ERROR_LIC 
16.
popd
Bitte warten ..
Mitglied: Miyamoto
09.11.2009 um 14:50 Uhr
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.
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 14:55 Uhr
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
Bitte warten ..
Mitglied: icsat
09.11.2009 um 14:59 Uhr
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
01.
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
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 15:09 Uhr
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
01.
rem + Version wird als Parameter uebergeben 
02.
@set JT_VERSION=%1 
03.
rem + Root-Verzeichnis JT-Converter 
04.
@set JT_ROOT=%PLS_ROOT%\%ARCH%\JTTranslators\CATIAV5 
05.
rem + Installationsverzeichnis JT-Converter Versionsspezifisch 
06.
@set JT_HOME=%JT_ROOT%\%JT_VERSION% 
07.
 
08.
rem + same as JT_HOME 
09.
set EAI_INSTALL=%JT_HOME% 
10.
rem + Lizenzfile JT-Converter 
11.
set TCVIS_LICENSE_FILE=%~dp0license.dat 
12.
set USGLMD_LICENSE_FILE=%TCVIS_LICENSE_FILE% 
13.
 
14.
rem + Pfad anpassen, damit JT-Converterbefehle im System bekannt sind 
15.
@set PATH=%JT_HOME%;%PATH%
diese Datei wird mittels
01.
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
Bitte warten ..
Mitglied: icsat
09.11.2009 um 15:31 Uhr
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:
01.
02.
call %~dp0jt_config.bat 
03.
04.
call :DO_CONVERT 
05.
06.
exit 
07.
08.
:DO_CONVERT 
09.
.
das in etwa so aussieht.

Bau doch in die Routine mal folgendes ein:
01.
:DO_CONVERT 
02.
rem +-----------------------------------------------+ 
03.
rem + MAIN - Konvertierung starten                  + 
04.
rem +-----------------------------------------------+ 
05.
echo /----------------------------------------------/ 
06.
echo / Konvertierung wird gestartet ...             / 
07.
echo /----------------------------------------------/ 
08.
pushd %~dp1 
09.
for /f "usebackq tokens=1" %%a in (`chdir`) do (  
10.
  set drive=%%a  
11.
12.
cd /D %USERPROFILE% 
13.
echo start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
14.
pause 
15.
start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
16.
if errorlevel 9606 call :ERROR_LIC 
17.
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
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 15:46 Uhr
01.
set TCVIS_LICENSE_FILE=%~dp0license.dat  
02.
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
01.
EAITranslator { 
02.
	OutputDirectory = "C:\Temp" 
03.
	chordalOption = "RELATIVE" 
04.
	structureOption = "PER_PART" 
05.
	writeWhichFiles = "ALL" 
06.
	pmiOption = "PART_AND_ASM" 
07.
	partMonitor = false 
08.
	JtFileFormat = "9" 
09.
	triStripOpt = true 
10.
	seamSewing = false 
11.
	seamSewingTol = 0.001 
12.
	includeBrep = true 
13.
	autoNameSanitize = true 
14.
	updateChangedPartsOnly = false 
15.
	writeAsciiAssembly = false 
16.
	singlePartsNoAssem = true 
17.
	autoLowLODgeneration = true 
18.
	smartLODgeneration = false 
19.
	numLODs = 3 
20.
	verboseReporting = false 
21.
}

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

bietet das Programm vielleicht beim Aufruf die Möglichkeit, die licence.dat per Parameter gleich mitzugeben?
Bitte warten ..
Mitglied: icsat
09.11.2009 um 16:06 Uhr
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:
01.
set JT_EXEC=tool.exe 
02.
set JT_CONFIG=\\host\share\tool\license.dat
Oder reden wir seit ca. 1,5 Stunden an einander vorbei und irgendwo steht:
01.
set JT_CONFIG=jt_config.bat
Und Deine eigentliche Frage lautet, dass dein Programm "Tool.exe" nicht die von Dir gesetzte Umgebungsvariable
01.
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
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 16:51 Uhr
Ich glaube wir haben wirklich aneinander vorbei geredet

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

01.
@echo off 
02.
 
03.
setlocal 
04.
rem +-----------------------------------------------+ 
05.
rem + CAE-Environment                               + 
06.
rem +-----------------------------------------------+ 
07.
set SAMBA_HOME=\\SERVER\appl 
08.
 
09.
rem +-----------------------------------------------+ 
10.
rem + Output-Header                                 + 
11.
rem +-----------------------------------------------+ 
12.
cls 
13.
echo /----------------------------------------------/ 
14.
echo / JT-Converterskript                           / 
15.
echo /----------------------------------------------/ 
16.
 
17.
rem +-----------------------------------------------+ 
18.
rem + Declarations                                  + 
19.
rem +-----------------------------------------------+ 
20.
rem sets the Converter-Version 
21.
set JT_CONVERTER_VERSION=%1 
22.
shift /1 
23.
 
24.
set JT_HOME=%SAMBA_HOME%\pls\win32\JTTranslators\CATIAV5\%JT_CONVERTER_VERSION% 
25.
rem converter executable 
26.
set JT_EXEC=%JT_HOME%\jt_catiav5.exe 
27.
rem converter configfile 
28.
rem set JT_CONFIG=%SAMBA_HOME%\pls\_admin\converter_configs\tessCatia_Lo.config 
29.
set JT_CONFIG=%SAMBA_HOME%\pls\_admin\converter_configs\catiatojt.config 
30.
 
31.
rem Get Outputdirectory 
32.
call :GET_OUTPUT  
33.
 
34.
rem wenn keine Datei uebergeben, dann Hilfe aufrufen und Tool beenden 
35.
if "%1"=="" call :USAGE %Output_DIR% 
36.
 
37.
rem source jt-settings 
38.
call %SAMBA_HOME%\pls\_admin\jt_config_v2.bat %JT_CONVERTER_VERSION% 
39.
 
40.
 
41.
:LOOP 
42.
rem +-----------------------------------------------+ 
43.
rem + LOOP - Fuer das Input von mehreren Files      + 
44.
rem +-----------------------------------------------+  
45.
call :DO_CONVERT %1 
46.
shift /1 
47.
if not "%1"=="" goto :LOOP 
48.
call :OPEN_OUTPUTDIR 
49.
goto :eof 
50.
 
51.
:DO_CONVERT 
52.
rem +-----------------------------------------------+ 
53.
rem + MAIN - Konvertierung starten                  + 
54.
rem +-----------------------------------------------+ 
55.
echo /----------------------------------------------/ 
56.
echo / Konvertierung wird gestartet ...             / 
57.
echo /----------------------------------------------/ 
58.
pushd %~dp1 
59.
for /f "usebackq tokens=1" %%a in (`chdir`) do (  
60.
  set drive=%%a 
61.
62.
cd /D %USERPROFILE% 
63.
echo start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
64.
start /B /WAIT %JT_EXEC% %drive%\%~nx1 %JT_CONFIG% 
65.
if errorlevel 9606 call :ERROR_LIC 
66.
popd 
67.
 
68.
echo /----------------------------------------------/ 
69.
echo / Konvertierung beendet                        / 
70.
echo /----------------------------------------------/ 
71.
goto :eof 
72.
 
73.
 
74.
rem +-----------------------------------------------+ 
75.
rem + Final - Outputdirectory oeffnen               + 
76.
rem +-----------------------------------------------+ 
77.
:OPEN_OUTPUTDIR 
78.
rem Explorer mit output-DIR oeffnen 
79.
call explorer.exe %Output_DIR% 
80.
echo /----------------------------------------------/ 
81.
echo / Press any Key for exit                       / 
82.
echo /----------------------------------------------/ 
83.
pause >NUL 
84.
goto :eof 
85.
 
86.
rem +-----------------------------------------------+ 
87.
rem + Subroutinen                                   + 
88.
rem +-----------------------------------------------+ 
89.
 
90.
rem +-----------------------------------------------+ 
91.
rem + Output, wenn ein Fehler auftritt              + 
92.
rem +-----------------------------------------------+ 
93.
:ERROR 
94.
echo /----------------------------------------------/ 
95.
echo / Fehler: 
96.
echo / %1 
97.
echo / 
98.
echo /----------------------------------------------/ 
99.
goto :eof 
100.
 
101.
rem +-----------------------------------------------+ 
102.
rem + Help-Funktion                                 + 
103.
rem +-----------------------------------------------+ 
104.
:USAGE 
105.
cls 
106.
echo /----------------------------------------------/ 
107.
echo / USAGE: 
108.
echo / Um den Converter zu benutzen, muss das zu 
109.
echo / konvertierende File auf die Verknuepfung des 
110.
echo / JT-Converters gezogen werden. 
111.
echo / Die konvertierten Dateien werden in folgendem 
112.
echo / Verzeichnis abgelegt: 
113.
echo / ---- 
114.
echo / %1 
115.
echo / 
116.
echo /----------------------------------------------/ 
117.
echo / Press any Key for exit                       / 
118.
echo /----------------------------------------------/ 
119.
pause >NUL 
120.
exit 1 
121.
goto :eof 
122.
 
123.
rem +----------------------------------------------------+ 
124.
rem + Function to get Outputdirectory from JT-configfile + 
125.
rem +----------------------------------------------------+ 
126.
:GET_OUTPUT 
127.
more %JT_CONFIG% | find "OutputDirectory" > %TEMP%\_jtconvert.log 
128.
for /F "tokens=2,3 delims= " %%a in (%TEMP%\_jtconvert.log) do @echo %%b > %TEMP%\_jtconvert.log 
129.
 
130.
set /p Output_DIR_temp=< %TEMP%\_jtconvert.log 
131.
set Output_DIR=%Output_DIR_temp:~1,-2% 
132.
 
133.
rem Outputdir ausgeben 
134.
echo / Output-Directory: %Output_DIR% 
135.
 
136.
if not exist %Output_DIR% ( 
137.
  mkdir %Output_DIR% 
138.
  if errorlevel 1 ( 
139.
    call :ERROR "Kann %Output_DIR% nicht anlegen"  
140.
  ) else ( 
141.
    echo / Ordner '%Output_DIR%' erfolgreich angelegt 
142.
143.
144.
rem Temporäre Datei löschen 
145.
del /f /q  %TEMP%\_jtconvert.log 
146.
goto :eof 
147.
 
148.
 
149.
rem +----------------------------------------------------+ 
150.
rem + Lizenzerror ueberpruefen                           + 
151.
rem +----------------------------------------------------+ 
152.
:ERROR_LIC 
153.
set datum=%date:~6,4%-%date:~3,2%-%date:~0,2% 
154.
set ERROR_FILE=%USERPROFILE%\Desktop\JTconvert_error_lic_%datum%.txt 
155.
cls 
156.
color CF 
157.
echo /----------------------------------------------/ 
158.
echo / Probleme mit Lizenzinformationen             / 
159.
echo /----------------------------------------------/ 
160.
echo / Bitte senden Sie eine E-Mail mit folgenden   / 
161.
echo / Informationen an den CAE-Support             / 
162.
echo /                                              / 
163.
echo / E-Mail:  mail@provider           / 
164.
echo / Betreff: Lizenzproblem mit JTconverter       / 
165.
echo /                                              / 
166.
echo / Vergessen Sie nicht folgende Datei an die    / 
167.
echo / Mail anzuhaengen.                            / 
168.
echo /----------------------------------------------/ 
169.
echo / %ERROR_FILE% 
170.
echo /----------------------------------------------/ 
171.
 
172.
 
173.
rem +-----------------------------------------------+ 
174.
rem + Ueberpruefen ob falsche Reg-Eintraege         + 
175.
rem + vorhanden sind                                + 
176.
rem +-----------------------------------------------+ 
177.
for /d %%a in (Siemens UGS) do ( 
178.
  for /d %%b in (TCVIS_LICENSE_FILE USGLMD_LICENSE_FILE) do ( 
179.
    for /f "usebackq tokens=3" %%c in (`"%~dp0check_registry_license.bat" %%a %%b`) do ( 
180.
	  set %%b_NEW=%%c 
181.
182.
183.
184.
echo. > "%ERROR_FILE%" 
185.
rem +-----------------------------------------------+ 
186.
rem + Unterschiede der Lizenzfiles in Logfile       + 
187.
rem + schreiben                                     + 
188.
rem +-----------------------------------------------+ 
189.
if "%TCVIS_LICENSE_FILE_NEW%"=="%USGLMD_LICENSE_FILE_NEW%" ( 
190.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
191.
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%" 
192.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
193.
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%" 
194.
) else ( 
195.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
196.
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%" 
197.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
198.
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%" 
199.
  fc /L %USGLMD_LICENSE_FILE_NEW% %USGLMD_LICENSE_FILE% >> "%ERROR_FILE%" 
200.
201.
 
202.
rem +-----------------------------------------------+ 
203.
rem + Systeminformationen zusaetzlich ins Logfile   + 
204.
rem + schreiben                                     + 
205.
rem +-----------------------------------------------+ 
206.
echo /----------------------------------------------/ >> "%ERROR_FILE%" 
207.
echo / Systeminformationen                          / >> "%ERROR_FILE%" 
208.
echo /----------------------------------------------/ >> "%ERROR_FILE%" 
209.
echo Logged in User: %USERNAME% >> "%ERROR_FILE%" 
210.
echo Computername:   %COMPUTERNAME% >> "%ERROR_FILE%" 
211.
echo Userprofilpfad: %USERPROFILE% >> "%ERROR_FILE%" 
212.
 
213.
echo. 
214.
echo /----------------------------------------------/ 
215.
echo / Press any Key for exit                       / 
216.
echo /----------------------------------------------/ 
217.
pause >NUL 
218.
exit 1 
219.
goto :eof 
220.
 
221.
endlocal
Bitte warten ..
Mitglied: 60730
09.11.2009 um 19:15 Uhr
Servus,

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

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

Es ist doch ganz einfach...

Wenn die beiden nicht identisch sind - hagelt es?

01.
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...

Den Hersteller..........


11 Beiträge für nix und wiedernix - einmal um den heissen Brei und zurück
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ß
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 19:53 Uhr
Zitat von 60730:
Servus,

ich hab deinen Beitrag "irrtümlich" als Anspruchsvoll
deklariert...
Mea Culpa
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

irren ist menschlich

Es ist doch ganz einfach...

Wenn die beiden nicht identisch sind - hagelt es?

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

mache ich ja hier, nur halt nicht statisch
01.
rem +-----------------------------------------------+ 
02.
rem + Ueberpruefen ob falsche Reg-Eintraege         + 
03.
rem + vorhanden sind                                + 
04.
rem +-----------------------------------------------+ 
05.
for /d %%a in (Siemens UGS) do ( 
06.
  for /d %%b in (TCVIS_LICENSE_FILE USGLMD_LICENSE_FILE) do ( 
07.
    for /f "usebackq tokens=3" %%c in (`"%~dp0check_registry_license.bat" %%a %%b`) do ( 
08.
	  set %%b_NEW=%%c 
09.
10.
11.
12.
echo. > "%ERROR_FILE%" 
13.
rem +-----------------------------------------------+ 
14.
rem + Unterschiede der Lizenzfiles in Logfile       + 
15.
rem + schreiben                                     + 
16.
rem +-----------------------------------------------+ 
17.
if "%TCVIS_LICENSE_FILE_NEW%"=="%USGLMD_LICENSE_FILE_NEW%" ( 
18.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
19.
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%" 
20.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
21.
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%" 
22.
) else ( 
23.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
24.
  echo / Unterschiede in der Lizenzdatei              / >> "%ERROR_FILE%" 
25.
  echo /----------------------------------------------/ >> "%ERROR_FILE%" 
26.
  fc /L %TCVIS_LICENSE_FILE_NEW% %TCVIS_LICENSE_FILE% >> "%ERROR_FILE%" 
27.
  fc /L %USGLMD_LICENSE_FILE_NEW% %USGLMD_LICENSE_FILE% >> "%ERROR_FILE%" 
28.
)

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...

Den Hersteller..........


11 Beiträge für nix und wiedernix - einmal um den
heissen Brei und zurück
> 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.
Bitte warten ..
Mitglied: icsat
09.11.2009 um 20:13 Uhr
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...

Den 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
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 20:38 Uhr

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


01.
set TCVIS_LICENSE_FILE=%~dp0license.dat  
02.
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
01.
TCVIS_LICENSE_FILE REG_SZ "C:\Programme\tool\license.dat" 
02.
USGLMD_LICENSE_FILE REG_SZ "C:\Programme\tool\license.dat"
gruß,
knums
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 20:40 Uhr
01.
> fc /b "C:\Programme\tool\license.dat  
02.
> \host\share\tool\license.dat && echo alles in Butter|| copy 
03.
> \host\share\tool\license.dat C:\Programme\tool\license.dat 
04.
> 
schonmal probiert als Standard-benutzer in den Ordner C:\Programme etwas hineinzukopieren?

LG
Bitte warten ..
Mitglied: 60730
09.11.2009 um 20:59 Uhr
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
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
Bitte warten ..
Mitglied: icsat
09.11.2009 um 21:17 Uhr
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
Bitte warten ..
Mitglied: icsat
09.11.2009 um 21:35 Uhr
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
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.
Bitte warten ..
Mitglied: Knumskull
09.11.2009 um 21:42 Uhr

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
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
Bitte warten ..
Mitglied: 60730
10.11.2009 um 00:07 Uhr
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

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
Bitte warten ..
Mitglied: Knumskull
10.11.2009 um 08:24 Uhr
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
Bitte warten ..
Mitglied: 60730
10.11.2009 um 11:31 Uhr
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ß
Bitte warten ..
Mitglied: Knumskull
10.11.2009 um 12:12 Uhr
Ich wollte ja auf dem System nie was ändern. Nur die Sachen, die eventuell vorhanden sind, ignorieren.

Gruß
Bitte warten ..
Mitglied: 60730
10.11.2009 um 12:16 Uhr
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ß
Bitte warten ..
Mitglied: Knumskull
10.11.2009 um 12:38 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Windows Server
gelöst SCCM2012 Abfrage eines Registry Wertes (5)

Frage von busteron zum Thema Windows Server ...

Batch & Shell
gelöst PowerShell Ordnergröße Skript ignoriert versteckte Dateien (3)

Frage von Giffas zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...