Page 1 of 1

IF Abfrage funktioniert nicht

Posted: 05. Oct 2005, 16:55
by Markus Kasper
Hallo,


ich versuche folgende Abfrage in die Setup.inf einzubauen:

[Reg:Product]
If DoesRegKeyExist ("HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnceEx\001") == "1" Then "KeyisThere" EndIf

[KeyisThere]
-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\001

der Key existiert, wenn ich ihn direkt unter [Reg:Product] einfüge wird dieser auch gelöscht. Jedoch über die Abfrage nicht.

Danke imVoraus

Gruss Markus Kasper

Posted: 05. Oct 2005, 17:03
by jbeimel
eine IF-Abfrage muss unter einem [Set:xxx] stehen, also

Code: Select all

&--91;Set&--58;Product&--93;
If DoesRegKeyExist &--40;"HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnceEx\001"&--41; == "1" Then "Reg&--58;KeyisThere" EndIf

&--91;Reg&--58;KeyisThere&--93;
-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\001

Posted: 05. Oct 2005, 17:04
by SchoehD
Hallo,

vor dem "Keyisthere" muss noch ein "Reg:" stehen, ansonsten wird das Kommando vom Interpreter (Setup.exe) nicht als "Registry-Operation" verstanden. Also einfach den Abschnitt und den Aufruf in "Reg:Keyisthere" umbenennen.

So wie es aktuell in der Setup.inf steht, würde die Zeile bei der Deinstallation des Pakets aufgerufen werden und höchstwahrscheinlich einen Fehler provozieren.

Edit: Da war wohl einer schneller ;)

Gruß Dominic

Posted: 05. Oct 2005, 17:06
by epeters
Hallo Herr Kaspar,

zwei Fehler sind mir aufgefallen:

- Die If- Abfrage gehört in einen Set- Abschnitt - z.B. [Set:Product]

- Registry- Werte werden nur in Reg- Sektionen geändert - z.B. [Reg:KeyisThere]

Edit: Da waren wohl zwei schneller ;-)

Posted: 06. Oct 2005, 10:11
by Markus Kasper
Aha! :) Jetzt fuktioniert es. Vielen Danke für die Antworten.

Gruss
Markus Kasper