Page 1 of 1
Registry Keys nach Abhängigkeit erstellen
Posted: 03. Sep 2018, 15:38
by AAsmus
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
Re: Registry Keys nach Abhängigkeit erstellen
Posted: 03. Sep 2018, 15:50
by f48614
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
Re: Registry Keys nach Abhängigkeit erstellen
Posted: 03. Sep 2018, 15:52
by MaMa82
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%"
Re: Registry Keys nach Abhängigkeit erstellen
Posted: 03. Sep 2018, 15:59
by AAsmus
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?
Re: Registry Keys nach Abhängigkeit erstellen
Posted: 03. Sep 2018, 17:08
by r.wiegel
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"
Re: Registry Keys nach Abhängigkeit erstellen
Posted: 13. Sep 2018, 13:46
by AAsmus
Danke r.wiegel, so sieht das richtig gut aus.