Jump to content


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.
Photo

3/64-Bit Registrierung von COM-Dlls


1 reply to this topic

Marsyas

Marsyas
  • Full Members
  • 31 posts

Posted 29 April 2009 - 16:03

Hallo Forum,

ich arbeite gerade an unserem ersten 64-Bit Setup mit InstallShield InstallScript. Nach Umgehung diverser 32-Bit Probleme (weil das Setup ja immer im 32-Bit Mode läuft, dank mangelnder nativen 64-Bit Unterstützung seitens Acresso) stehe ich nun schon wieder an.

Ich möchte gerne unsere API während des Setups registrieren. Natürlich gibt es die API in zwei Versionen: 32+64-Bit in unterschiedlichen Verzeichnissen. Wie registriere ich die API nun aber? Aufgrund von Problemen in der Vergangenheit wird bei uns nichts mit SelfRegister gemacht, statt dessen werden die nötigen Informationen zur Registrierung in den Registry Sets untergebracht. Meine beiden APIs stecken in jeweils einem eigenem Component mit eigenem Registry-Set. Die Registry-Sets beinhalten defakto die gleichen Keys und Werte, nur der Pfad zur Datei unterscheidet sich (anderer Verweis in TypeLib Teil). Die Components sind einmal als "Platform suite" All und einmal als AMD64 markiert.

Nun werden aber die Registry-Sets nicht wie gewünscht einmal nach HKCR\... und HKLM\Classes\WOW6432Node\... geschrieben, sondern anscheinend immer pro Component in beide Teile (32 und 64-Bit). Dabei überschreibt das zuletzt installierte Component die Daten vom zuvor Installiertem.

Wie mach ich das richtig? Welche Möglichkeiten habe ich, um im Registry-Set dediziert auf den 64-Bit oder 32-Bit Teil zu schreiben?

Grüße

Marsyas

Marsyas

Marsyas
  • Full Members
  • 31 posts

Posted 12 May 2009 - 09:44

Hi,

komischerweise hab ich immer Probleme, die niemand sonst hat sad.gif .

Ich hab das Problem jetzt umgangen, in dem ich für Components, die eine 32- und 64-bittige Registrierung brauchen die RegistrySets händisch installiere (mit CreateRegistrySet) und dabei mit REGDB_OPTION_WOW64_64KEY umschalte, ob ich 64-Bit Registry oder 32-Bit Registry beschreiben will.

Muss ich mich auch um die Deinstallation der Registry-Sets kümmern?

Grüße

Marsyas