Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post Reply
BigD
Posts: 9
Joined: 23. Jan 2014, 18:40
Contact:

Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by BigD » 30. May 2014, 14:25

Hallo Zusammen,

ich wollte fragen, ob es möglich ist im Inventory, mittels Benutzerdefinierte Werte, oder ähnlichem, den Inhalt oder eine Zeile aus einer Datei anzeigen zu lassen??

Folgendes möchte ich damit bezwecken:

Wir haben Software bei uns im Einsatz, wo die Lizenzen nicht in der Registry, sondern in Dateien abgelegt werden, bsp:

C:\ProgramData\Altova\XMLSpy2014\xmlspy.lic

Diese Datei hat folgende Einträge:

Name FIrmenname Seriennummer

Alles in einer Zeile...

Am liebsten wäre es mir wenn ich nur die Seriennummer auslesen könnte, wäre aber auch mit der ganzen Zeile zufrieden.
Bei anderer Software über die Registry kriege ich dies hin, aber eben auf Dateiebene nicht.

Bin für Ratschläge jeglicher Art dankbar!! :)

Viele Grüße

Dominic

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 8086
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by Hendrik_Ambrosius » 30. May 2014, 21:01

Über Benutzerdefinierte Werte kann man gezielt nur Werte aus INI Dateien auslesen über die übliche Syntax wie auch aus der Paketierung bekannt.
Man kann optional noch die ganze Datei einsammeln.
Oder über ein Paket die Seriennummer aus der Datei auslesen und in einen RegKey wegschreiben so dass das Inventory sie einfach auslesen kann.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

BigD
Posts: 9
Joined: 23. Jan 2014, 18:40
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by BigD » 02. Jun 2014, 13:28

Hallo Herr Ambrosius,

vielen Dank, das mit der Datei auslesen und dann in die Registry stecken klingt nach einer guten Idee!

Hätten sie zufällig eine Setup.inf die dies bewerkstelligt?

Viele Grüße

Dominic

User avatar
r.wiegel
Posts: 903
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by r.wiegel » 02. Jun 2014, 21:50

Hallo Dominic,

Code: Select all

[Set:Product]
Set LicFile=ReadTextFile("C:\ProgramData\Altova\XMLSpy2014\xmlspy.lic")
;Echo %LicFile%
;wenn Name und Firmenname immer gleich sind:
Set V_Lic=RemoveFromLeft ("%LicFile%", 10) 
;Set V_Lic=Right ("%LicFile%", 8)
;Echo %V_Lic%

[Ini:Product]
"%Temp%\Lic.ini","Lizenz",,"Value=%V_Lic%"

;oder:
[Reg:Product]
HKLM,"SOFTWARE\MATRIX42\Soft","Lizenz",0x00000000,"%V_Lic%"
Viele Grüße
Roman
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

BigD
Posts: 9
Joined: 23. Jan 2014, 18:40
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by BigD » 03. Jun 2014, 17:03

Hallo Roman,

Vielen vielen Dank!!!!

Ich habe nur ein Problem, er übernimmt mir nur den ersten Buchstaben in die Registry...
Wenn ich allerdings alle Bindestriche und Leerzeichen entferne, übernimmt er den ganzen Inhalt in die Registry.
Ich gehe davon aus, dass die Leerzeichen stören... Wie kriege ich das sauber hin?

Hier meine Setup.inf

Code: Select all

[Set:Product]
Set LicFile=ReadTextFile("C:\ProgramData\Altova\XMLSpy2014\xmlspy.lic")
Set V_Lic="%LicFile%"

[Reg:OnUninstallProduct]

[Reg:Product]
HKLM,"SOFTWARE\MATRIX42\Lizenzen\AltovaXML","Lizenz",0x00000000,"%V_Lic%"

So sieht die Datei aus:

Vorname Nachname Firma Firma XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX


Danke nochmals!

Dominic

User avatar
thahn
Posts: 487
Joined: 03. Jan 2007, 09:03
Location: KR - NRW
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by thahn » 03. Jun 2014, 20:10

nabend,

Aufteilen in einzelne Segmente
Tokenize (<Umgebungsvariable>) [, <Trennzeichen>])
Wandelt den Inhalt einer Umgebungsvariablen in einzelne Tokens um. Die Tokens müssen entweder mit Komma getrennt sein oder man gibt optional ein anderes <Trennzeichen> an. Die Anzahl der Tokens wird zurückgeliefert. Die einzelnen Tokens werden als Umgebungsvariablen gespeichert. Ihr Name ist jeweils <Umgebungsvariable><laufende Nummer>. Der Inhalt ist der Wert des Tokens. Die Zeichenfolge ist auf 255 Zeichen begrenzt.
Beispiel: [Environment]
Informix=Server, 123.123.123.123, User
Set NumberOfTokens=Tokenize (Informix)
IPAddress=192.168.0.1
Set NumberOfTokens=Tokenize (IPAddress, ".")
cYa
Thomas Hahn
Technical Account Manager

Matrix42 AG

Email: thomas.hahn[at]matrix42.com
http://www.matrix42.de
Skype: thahn42
ICQ: IO25IGO8

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG.

User avatar
r.wiegel
Posts: 903
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by r.wiegel » 04. Jun 2014, 08:30

ich habe es gerade nachgestellt. Bei mir landen die letzten 40 Zeichen in die Registry:

Code: Select all

[Set:Product]
Set LicFile=ReadTextFile("C:\ProgramData\Altova\XMLSpy2014\xmlspy.lic")
Echo %LicFile%
Set V_Lic=Right ("%LicFile%", 40)
Echo %V_LIC%

[Reg:Product]
HKLM,"SOFTWARE\MATRIX42\Lizenzen\AltovaXML","Lizenz",0x00000000,"%V_Lic%"
Viele Grüße
Roman
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

BigD
Posts: 9
Joined: 23. Jan 2014, 18:40
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by BigD » 04. Jun 2014, 17:26

Hallo Roman,

mit einer neu erstellten Textdatei, diese umbenannt und dann ausgelesen, funktioniert dies auch.

Mit der Original erstellten Datei von Altova XML Spy funktioniert dies nicht.
Ich glaube es ist eine Binärdatei...

Ich habe sie mal angehangen...

Und danke für deine Mühe!

Viele Grüße

Dominic
Attachments
xmlspy.zip
(210 Bytes) Downloaded 369 times

User avatar
r.wiegel
Posts: 903
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by r.wiegel » 04. Jun 2014, 21:53

Hallo Dominic,
das geht auch:

Code: Select all

[Set:Product]
Callhidden cmd /c more "C:\ProgramData\Altova\XMLSpy2014\xmlspy.lic" > "C:\ProgramData\Altova\XMLSpy2014\xmlspy.txt"
Set LicFile=ReadTextFile("C:\ProgramData\Altova\XMLSpy2014\xmlspy.txt")
;Echo FileValue:%LicFile%
Set NumberOfTokens=Tokenize (LicFile," ")
;Echo NumberOfTokens:%NumberOfTokens%
For Counter, 6,%NumberOfTokens%,1,Set:Inventory

[Set:Inventory]
Set LizenzWert=%%LicFile%Counter%%
ReplaceEnv LizenzWert
;Echo LizenzWert:%LizenzWert% 
#Reg:Lizenz

[Reg:Lizenz]
HKLM,"SOFTWARE\MATRIX42\Lizenzen\AltovaXML","Lizenz",0x00000000,"%LizenzWert%"
Viele Grüße
Roman
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

BigD
Posts: 9
Joined: 23. Jan 2014, 18:40
Contact:

Re: Dateiinhalt auslesen -> Benutzerdefinierte Werte

Post by BigD » 05. Jun 2014, 13:03

Hallo Roman,

vielen vielen Dank!!!!

Funktioniert :D

Grüße Dominic

Post Reply

Return to “Inventory”

Who is online

Users browsing this forum: No registered users and 1 guest