2016-04-21 18 views
0

Viele InstallShield-Entwickler haben Zweifel, wie sie die -Registrierung in den 64-Bit-Bereich mithilfe der InstallScript-Funktion in InstallShield einfügen können.Wie kann man die Registrierung in den 64-Bit-Bereich über die Install Script-Funktion hinzufügen?

Wenn unser Installer ist 32bit EXE, und wenn wir diesen Installer auf 64-Bit-Computer installieren, werden alle RegDB Funktionen verweist auf Wow6432Node Registrierungsbereich. Aber viele Male müssen wir Registrierung zu 64-Bit-Bereich mit 32-Bit-Installer hinzufügen. Wie können wir das erreichen?

Für z.B. Wenn ich folgenden Code in InstallScript ausführe.

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
RegDBCreateKeyEx("SOFTWARE\\XYZ", ""); 

Ich möchte diesen Registrierungseintrag unter HKLM\SOFTWARE\XYZ hinzufügen. Aber dieser Eintrag wird unter HKLM\SOFTWARE\Wow6432Node\XYZ hinzugefügt.

Was ist die Lösung, um diese Registrierung unter 64-Bit-Bereich hinzuzufügen?

Antwort

1

Es gibt zwei Lösungen, um dieses Szenario zu erreichen.

Erste Lösung ist,

Wir können Komponente erstellen, machen es zu 64 Bit und wir werden Registrierungseintrag unter es in Install hinzuzufügen.

Zweite Lösung ist,

Wenn wir Registrierung hinzufügen möchten, die jeder Komponente unabhängig ist, dann können wir REGDB_OPTIONS verwenden.

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY; 
RegDBCreateKeyEx("SOFTWARE\\XYZ", ""); 

Dies wird Registrierung 64-Bit-Bereich hinzufügen.