Variable: RegKey auslesen

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Variable: RegKey auslesen

Beitrag von Pedda » 21. Dez 2011, 10:30

Hi,

ich möchte folgende Setup.inf nach der OS-Installation aufrufen.
Der Aufruf klappt. Jedoch nicht die Setup.inf :(

Die Variable gibt gar kein Wert zurück.
Auch ReplaceEnv hat nichts gebracht.
Wenn ich einen festen Wert in die Variable schreibe klappt es.

Code: Alles auswählen

[Setup]
Version=6.5
ShowCaption=1

[Requirements]

[environment]

[Application]
ShowEndMessage=0
DisableCancelButton=1

[Options]
run = run, COPYALWAYS

[run]
Set V_RegKey=%HKLM,"SOFTWARE\MATRIX42\Empirum Installer","MachineIdNum"%
; ReplaceEnv V_RegKey
If DoesRegKeyExist ("HKLM,SOFTWARE\MATRIX42\Empirum Installer,MachineIdNum") == "1" Then "Set:Abort" Else "Set:CheckPC"


[Set:CheckPC]
If %V_RegKey% = "104198_92378" Then "Set:CelW410" EndIf
If %V_RegKey% = "214809_182197" Then "Set:CelW280" EndIf
#Set:Abort


[Set:CelW410]
callhidden cmd.exe /c diskpart /s \\lenny\empirum$\Configurator\User\CelW410\part.txt
#Set:Abort

[Set:CelW280]
callhidden cmd.exe /c diskpart /s \\lenny\empirum$\Configurator\User\CelW280\part.txt
#Set:Abort

[Set:Abort]
Abort

Hat jemand eine Idee wo der Fehler liegt?
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 21. Dez 2011, 10:48

Ich wuerde mal probieren, die auf dem Empirum-Server zugaengliche OS.INI auszuwerten.

Ciao!
Walter Schulz

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Pedda » 21. Dez 2011, 11:05

Verstehe nicht was du meinst.
Was soll ich in der .ini finden bzw. suchen?
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 21. Dez 2011, 12:39

set V_mac8=getnic (2)
Set V_RegKey=%%\\lenny\empinst$\wizard\os\auto\%V_mac8%\OS.INI,HWID,MachineIdNum%%
replaceenv V_RegKey
Echo MachindeIDNum=%V_RegKey%

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Pedda » 21. Dez 2011, 13:48

Funktioniert. Dankeschön.

Aber kann mir vielleicht trotzdem jemand sagen warum es nicht geklappt hat den Registry-Key auszulesen?!
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 21. Dez 2011, 14:34

Bitte mal den Code einsetzen, bei dem die Variable fest eingetragen ist und der funktioniert.

Ciao!
Walter Schulz

Benutzeravatar
MGrundl
Beiträge: 627
Registriert: 09. Mai 2008, 17:18
Wohnort: Wien
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von MGrundl » 21. Dez 2011, 15:27

Geht das?
Set V_RegKey=%HKLM,SOFTWARE\MATRIX42\Empirum Installer,MachineIdNum%

lg,
Manfred

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 21. Dez 2011, 15:36

Ich habe es nicht beim Betriebssystemsetup getestet, aber bei meinem Test klappte das Auslesen aus der Registry mit und ohne Anfuehrungszeichen.

Ciao!
Walter Schulz

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Pedda » 22. Dez 2011, 08:08

Wenn ich einen festen Wert in die Variable schreibe geht es.
Habe jetzt mehrere Möglichkeiten ausprobiert den Key zu schreiben aber keine gibt einen Wert zurück.

Habt ihr zum testen den gleichen Code wie ich benutzt oder habt ihr eine normale Setup.inf benutzt?
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 22. Dez 2011, 08:59

Pedda hat geschrieben:Wenn ich einen festen Wert in die Variable schreibe geht es.
Ich haette gerne die funktionierende Setup.inf.

Zum Testen verwende ich eine "normale" Setup.inf.

Ciao!
Walter Schulz

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Pedda » 22. Dez 2011, 11:59

Dies ist die komplette Setup.inf wie sie jetzt funktioniert:

Code: Alles auswählen

[Setup]
Version=6.5
ShowCaption=1

[Requirements]

[environment]

[Application]
ShowEndMessage=0
DisableCancelButton=1

[Options]
run = run, COPYALWAYS

[run]
Set V_mac=getnic (2)
Set V_RegKey=%%\\lenny\EmpInst$\Wizard\OS\Auto\%V_mac%\OS.ini,HWID,MachineIdNum%%
ReplaceEnv V_RegKey

#Set:CheckPC

[Set:CheckPC]
If %V_RegKey% == "104198_92378" Then "Set:CelW410" EndIf
If %V_RegKey% == "214809_182197" Then "Set:CelW280" EndIf
#Set:Abort

[Set:CelW410]
callhidden cmd.exe /c diskpart /s \\lenny\empirum$\Configurator\User\CelW410\part.txt
#Set:Abort

[Set:CelW280]
callhidden cmd.exe /c diskpart /s \\lenny\empirum$\Configurator\User\CelW280\part.txt
#Set:Abort

[Set:Abort]
Abort

Wenn ich aber den Registry-Key auslesen will geht es nicht mehr.
z.B.:
Set V_RegKey=%HKLM,"SOFTWARE\MATRIX42\Empirum Installer","MachineIdNum"%
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 22. Dez 2011, 12:35

Bitte mal den Befehl
callhidden reg export HKLM\SOFTWARE\MATRIX42 c:\regexport.reg
in die Setup.inf einfuegen und das Betriebssystemsetup durchlaufen lassen. Dann pruefen, ob die abgefragten Registry Keys in der Textdatei auftauchen.

Ciao!
Walter Schulz

Benutzeravatar
thahn
Beiträge: 487
Registriert: 03. Jan 2007, 09:03
Wohnort: KR - NRW
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von thahn » 22. Dez 2011, 12:54

hi,

doppelte %% Zeichen sollten helfen....

Code: Alles auswählen

[Set:Product]
; 1:, %App%, CREATE DIRECTORY CASCADED, 0

SET MaschineID=%%HKLM,"SOFTWARE\MATRIX42\Empirum Installer","MachineIdNum"%%
ReplaceEnv MaschineID

;Echo %MaschineID%
If %MaschineID% = "131243_98685" Then "Set:VM" EndIf
If %MaschineID% = "214809_182197" Then "Set:CelW280" EndIf

[Set:VM]
Echo Ich bin eine Virtuelle Maschine ;-)

[Set:CelW280]
Zuletzt geändert von thahn am 22. Dez 2011, 13:03, insgesamt 1-mal geändert.
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.

Benutzeravatar
Pedda
Beiträge: 72
Registriert: 01. Sep 2011, 07:31
Wohnort: Wertheim
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Pedda » 22. Dez 2011, 12:55

Habe die Setup.inf mal zum Testen ganz normal ausgeführt.
Jedoch wird da dann auch kein Wert zurück gegeben.

Der RegistryKey wird vorher erstellt.
Habe es in die winvista.eis eingetragen.

@than:
Habe ich glaub ich schon mal ausprobiert aber werde es nochmal versuchen.
Gruß,
Pedda

Systemadministrator
ZIPPE Industrieanlagen GmbH
97877 Wertheim

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Re: Variable: RegKey auslesen

Beitrag von Walter_Schulz » 22. Dez 2011, 13:52

thahn hat geschrieben:doppelte %% Zeichen sollten helfen....
... was nicht nur mich ueberraschen wuerde. Wieder mal eine undokumentierte Funktionsaenderung?

Set xy=%HKLM,Software\dummy,whatever%
Echo Wert von xy ist %xy%
-> funktioniert

Set xy=%%HKLM,Software\dummy,whatever%%
Replaceenv xy
Echo Wert von xy ist %xy%
-> funktioniert

Set xy=%HKLM,Software\dummy,whatever%
Replaceenv xy
Echo Wert von xy ist %xy%
-> funktioniert

Ciao!
Walter Schulz

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste