Registry Keys nach Abhängigkeit erstellen

Post Reply
AAsmus
Posts: 3
Joined: 06. Dec 2017, 14:57
Contact:

Registry Keys nach Abhängigkeit erstellen

Post by AAsmus » 03. Sep 2018, 15:38

Moin,
kann man in der [Reg:Product] Sektion einen Registry Key nach Abhängigkeit hinzufügen? Ich will anhand einer Datei prüfen welcher Client auf der Maschine installiert ist. Abhängig vom Clienten brauche ich dann einen Registry Eintrag mit Inhalt A oder Inhalt B den ich dann hinzufügen möchte.
Ich brauche so etwas wie:

if doesfileexist(prüfen ob Datei A vorhanden) then HKLM,"SOFTWARE\WOW6432Node\ODBC\ODBC.INI\SPX_TEST","Driver",0x00000000,"C:\Datei A"
else
HKLM,"SOFTWARE\WOW6432Node\ODBC\ODBC.INI\SPX_TEST","Driver",0x00000000,"C:\Datei B"

Anscheinend ist diese Sektion aber nicht für Funktionen gedacht, zumindest erkennt er die Funktionen dort nicht.
Gruß Andreas

f48614
Posts: 224
Joined: 24. Apr 2007, 14:38
Contact:

Re: Registry Keys nach Abhängigkeit erstellen

Post by f48614 » 03. Sep 2018, 15:50

Hallo Andreas,

leider sind keine IF Befehle in der Reg Sektion erlaubt.

Du musst daher die Abfrage in einer SET-Sektion einbauen und dann entweder in Reg springen oder über reg.exe add im SET arbeiten.

Beispiel:

If DoesFileExist ("%ProgramFiles(x86)%\Microsoft Office\root\Office16\OUTLOOK.EXE") == "1" Then "Set:OfficeReg" EndIf

[Set:OfficeReg]
callhidden cmd /C reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies" /v IrgendeinOfficeKey /t REG_DWORD /d 180 /f

Gruß
Thomas
Empirum v18.0 + EPE 4.7.1
Testsystem Empirum v18.0

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Registry Keys nach Abhängigkeit erstellen

Post by MaMa82 » 03. Sep 2018, 15:52

Moin Moin Andreas!

Nein - das funktioniert nicht.
Registry-Abschnitte schließen anderweitige Befehle oder logische Prüfungen aus!

Du kannst aber mit Trick 17b an die Sache herangehen:

[Set:CheckRequirements]
If DoesFileExist ("C:\blabla1.txt") == "1" Then "Set:ValueA" EndIf
If DoesFileExist ("C:\blabla2.txt") == "1" Then "Set:ValueB" EndIf

[Set:ValueA]
Set V_VARIABLE=ABC
ReplaceEnv V_VARIABLE
[Set:ValueB]
Set V_VARIABLE=XYZ
ReplaceEnv V_VARIABLE

[Reg:Product]
HKLM,"SOFTWARE\WOW6432Node\ODBC\ODBC.INI\SPX_TEST","Driver",0x00000000,"%V_VARIABLE%"
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

AAsmus
Posts: 3
Joined: 06. Dec 2017, 14:57
Contact:

Re: Registry Keys nach Abhängigkeit erstellen

Post by AAsmus » 03. Sep 2018, 15:59

Hallo Thomas,

wenn ich in
f48614 wrote:Du musst daher die Abfrage in einer SET-Sektion einbauen und dann entweder in Reg springen oder über reg.exe add im SET arbeiten
wenn ich ins Reg springen möchte, wie würde das aussehen? Würde das funktionieren wenn ich mir eine [Reg:Product1] und [Reg:Product2] aufbauen würde. Dann dürfte ich diese aber nicht in der Hauptsektion [Product] aufrufen, richtig?

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

Re: Registry Keys nach Abhängigkeit erstellen

Post by r.wiegel » 03. Sep 2018, 17:08

Code: Select all

;if doesfileexist(prüfen ob Datei A vorhanden) Then "Reg:ConfigA" Else "Reg:ConfigB" EndIf
if doesfileexist(prüfen ob Datei A vorhanden) Then "Set:RegA" Else Set:regB EndIf

[Set:RegA]
#Reg:ConfigA

[Set:RegB]
#Reg:ConfigB

[Reg:ConfigA]
HKLM,"SOFTWARE\WOW6432Node\ODBC\ODBC.INI\SPX_TEST","Driver",0x00000000,"C:\Datei A"

[Reg:ConfigB]
HKLM,"SOFTWARE\WOW6432Node\ODBC\ODBC.INI\SPX_TEST","Driver",0x00000000,"C:\Datei B"
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

AAsmus
Posts: 3
Joined: 06. Dec 2017, 14:57
Contact:

Re: Registry Keys nach Abhängigkeit erstellen

Post by AAsmus » 13. Sep 2018, 13:46

Danke r.wiegel, so sieht das richtig gut aus.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: Ahrefs [Bot] and 7 guests