Variable: RegKey auslesen

User avatar
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Variable: RegKey auslesen

Post by Pedda » 21. Dec 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: Select all

[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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 21. Dec 2011, 10:48

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

Ciao!
Walter Schulz

User avatar
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Re: Variable: RegKey auslesen

Post by Pedda » 21. Dec 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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 21. Dec 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%

User avatar
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Re: Variable: RegKey auslesen

Post by Pedda » 21. Dec 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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 21. Dec 2011, 14:34

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

Ciao!
Walter Schulz

User avatar
MGrundl
Posts: 627
Joined: 09. May 2008, 17:18
Location: Wien
Contact:

Re: Variable: RegKey auslesen

Post by MGrundl » 21. Dec 2011, 15:27

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

lg,
Manfred

Walter_Schulz
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 21. Dec 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

User avatar
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Re: Variable: RegKey auslesen

Post by Pedda » 22. Dec 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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 22. Dec 2011, 08:59

Pedda wrote: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

User avatar
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Re: Variable: RegKey auslesen

Post by Pedda » 22. Dec 2011, 11:59

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

Code: Select all

[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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 22. Dec 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

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

Re: Variable: RegKey auslesen

Post by thahn » 22. Dec 2011, 12:54

hi,

doppelte %% Zeichen sollten helfen....

Code: Select all

[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]
Last edited by thahn on 22. Dec 2011, 13:03, edited 1 time in total.
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
Pedda
Posts: 72
Joined: 01. Sep 2011, 07:31
Location: Wertheim
Contact:

Re: Variable: RegKey auslesen

Post by Pedda » 22. Dec 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
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Variable: RegKey auslesen

Post by Walter_Schulz » 22. Dec 2011, 13:52

thahn wrote: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

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 1 guest