Hallo zusammen
Ich möchte in einem Basic MSI Project mittels Installscript ein Registry Value setzen. Das spezielle daran ist, dass es sich beim Value um einen DWORD Wert handelt. Zum setzen eines Registry Value kann ja die Funktion "RegDBSetKeyValueEx" benutzt werden. Hier mein Aufruf:
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Installscript DWORD Wert setzen
Started by
Phil_b
, Nov 03 2008 14:10
4 replies to this topic
Posted 03 November 2008 - 14:10
CODE |
RegDBSetKeyValueEx("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Office\\Word\\Addins\\Word2003","LoadBehavior",REGDB_NUMBER,"3",-1); |
Der Wert müsste auf 3 (bzw. 0x00000003) gesetzt werden, leider funktioniert das nicht. Was mache ich falsch ?
Danke für eure Tipps
Posted 03 November 2008 - 14:43
Rufe zunächst RegDBSetDefaultRoot() auf und setze damit den datenbankzweig auf den Du zugreifen möchtest (z.B. HKEY_LOCAL_MACHINE).
Wenn Du die 64-bit-Registry einer x64-Maschine ansprechen möchtest vorher noch
// 64bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
aufrufen.
Also:
// 64bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
RegDBSetDefaultRoot(...);
RegDBSetKeyValueEx(...);
// wieder rücksetzen, 32bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;
Wenn Du die 64-bit-Registry einer x64-Maschine ansprechen möchtest vorher noch
// 64bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
aufrufen.
Also:
// 64bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
RegDBSetDefaultRoot(...);
RegDBSetKeyValueEx(...);
// wieder rücksetzen, 32bit Registry verwenden
REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;
Posted 03 November 2008 - 14:58
Hallo
Danke für deinen Input. Funktioniert leider immer noch nicht :-(
Hier mein Aufruf
Danke für deinen Input. Funktioniert leider immer noch nicht :-(
Hier mein Aufruf
CODE |
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY; RegDBSetKeyValueEx("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Office\\Word\\Addins\\Word2003","LoadBehavior",REGDB_NUMBER,"3",-1); |
Was ist falsch ?
Posted 03 November 2008 - 15:07
Stimmt der Pfad denn so? -> "SOFTWARE\\Microsoft\\Office\\Word\\Addins\\Word2003"
Ich meine nicht.
Kontrolliere das doch mal mit regedit!
Ich meine nicht.
Kontrolliere das doch mal mit regedit!
Posted 03 November 2008 - 15:52
Hallo
Der Pfad stimmte, ich habe fälschlicherweise den Root (HKEY_LOCAL_MACHINE) noch angegeben.
Jetzt geht's :-) Danke
Der Pfad stimmte, ich habe fälschlicherweise den Root (HKEY_LOCAL_MACHINE) noch angegeben.
Jetzt geht's :-) Danke