Hallo,
ich habe mehrere DLL's die im Setup registriert werden. Momentan hab ich ein Computer Setup mit Admin Rechten und lasse die Komponenten per SelfRegister registrieren. Allerdings benötigt eine dieser DLL's eine der anderen DLL's als Voraussetzung. Ohne klappt das registrieren nicht. Offenbar macht der Installer das in der falschen Reihenfolge.
Wie kann ich die Reihenfolge der Registrierung der Dateien beeinflussen?
Grüße,
Kukulkan
Wie reihenfolge bei SelfRegister anpassen?
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: Wie reihenfolge bei SelfRegister anpassen?
Guten Tag.
Nein diese lässt sich nicht beeinflussen. Sie sollten auch besser den Punkt "Aus Registry auslesen" nutzen, da dies genau solche Dinge umgeht.
Nein diese lässt sich nicht beeinflussen. Sie sollten auch besser den Punkt "Aus Registry auslesen" nutzen, da dies genau solche Dinge umgeht.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
Re: Wie reihenfolge bei SelfRegister anpassen?
Hallo,
Wie mache ich das, wenn das unter x32 und x64 klappen soll? Die ausgelesenen Keys gelten dann doch nur für das selbe System wie das Build-System, oder?
Wenn ich eine Benutzer-Installation mache, müssen die dann in das HKEY_CURRENT_USER, bei einer Computer Installation nach HKEY_LOCAL_MACHINE. Wie mache ich das dann dort?
Gibt es eine gute Quelle wo man sich dahingehend informieren kann? Oder muss ich mich um all das nicht kümmern und der AKInstallerMSI regelt das wirklich komplett?
Grüße,
Kukulkan
Wenn ich das richtig verstehe, wird das dann aus meiner Registry ausgelesen, richtig? In dem Fall aber ein Problem, denn auf der Build Maschine sind das evtl. andere Pfade oder gar nicht registrierte Komponenten (weil andere Abhängigkeiten fehlen). Oder werden die Keys aus der DLL/OCX ausgelesen ohne dass die Komponente auf dem Build System registriert ist?Sie sollten auch besser den Punkt "Aus Registry auslesen" nutzen, da dies genau solche Dinge umgeht.
Wie mache ich das, wenn das unter x32 und x64 klappen soll? Die ausgelesenen Keys gelten dann doch nur für das selbe System wie das Build-System, oder?
Wenn ich eine Benutzer-Installation mache, müssen die dann in das HKEY_CURRENT_USER, bei einer Computer Installation nach HKEY_LOCAL_MACHINE. Wie mache ich das dann dort?
Gibt es eine gute Quelle wo man sich dahingehend informieren kann? Oder muss ich mich um all das nicht kümmern und der AKInstallerMSI regelt das wirklich komplett?
Grüße,
Kukulkan
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: Wie reihenfolge bei SelfRegister anpassen?
Guten Tag!
Beim Auslesen wird die COM-Komponenten "virtuell Registriert". Es werden alle Key gelesen, die bei einer Registration (z. B. regsvr32) geschrieben werden. Feste Pfad werden auf die jeweilige Komponente verbogen (oder wenn das nicht klappt, als Warnung ausgegeben). Die Komponente ist danach nicht am System angemeldet und überschreibt auch keine bestehenden Einträge.
Wenn auf der Entwicklungsmaschine alle Abhängigkeiten vorhanden sind (sich die COM-Datei also ohne Fehler registrieren lassen würde) klappt es mit dem Auslesen. Was nicht geht ist auf einem 32 Bit System 64Bit-Coms auszulesen. 32 + 64 Bit geht aber auf einem 64 OS.
Ein Benutzer kann kein Selfreg (regsvr32) ausführen, das geht nur per Auslesen, indem man in den OCX-Registrationsinformation (über Dateieinstellungen erreichbar) den Root-Eintrag von Registry von 0 auf 1 setzt und den Pfad (Key) um Software\Classes\.. ergänzt.
Beispiel:
Root: 0
Key: CLSID\GUID\InprocServer32
ändern in:
Root: 1
Key: Software\Classes\CLSID\GUID\InprocServer32
Beim Auslesen wird die COM-Komponenten "virtuell Registriert". Es werden alle Key gelesen, die bei einer Registration (z. B. regsvr32) geschrieben werden. Feste Pfad werden auf die jeweilige Komponente verbogen (oder wenn das nicht klappt, als Warnung ausgegeben). Die Komponente ist danach nicht am System angemeldet und überschreibt auch keine bestehenden Einträge.
Wenn auf der Entwicklungsmaschine alle Abhängigkeiten vorhanden sind (sich die COM-Datei also ohne Fehler registrieren lassen würde) klappt es mit dem Auslesen. Was nicht geht ist auf einem 32 Bit System 64Bit-Coms auszulesen. 32 + 64 Bit geht aber auf einem 64 OS.
Ein Benutzer kann kein Selfreg (regsvr32) ausführen, das geht nur per Auslesen, indem man in den OCX-Registrationsinformation (über Dateieinstellungen erreichbar) den Root-Eintrag von Registry von 0 auf 1 setzt und den Pfad (Key) um Software\Classes\.. ergänzt.
Beispiel:
Root: 0
Key: CLSID\GUID\InprocServer32
ändern in:
Root: 1
Key: Software\Classes\CLSID\GUID\InprocServer32
Re: Wie reihenfolge bei SelfRegister anpassen?
Vielen Dank.
Das hilft mir schon weiter.
Wenn ich erstmal nur eine Computerinstallation mache und die von "Self register" auf "Aus Registry auslesen" umstelle, dann sollte es ohne die extra Root Einträge klappen, nicht? Ich finde das sowieso nicht, aber evtl. weil es DLL sind und nicht OCX?
Grüße,
Kukulkan
Das hilft mir schon weiter.
Wenn ich erstmal nur eine Computerinstallation mache und die von "Self register" auf "Aus Registry auslesen" umstelle, dann sollte es ohne die extra Root Einträge klappen, nicht? Ich finde das sowieso nicht, aber evtl. weil es DLL sind und nicht OCX?
Grüße,
Kukulkan
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: Wie reihenfolge bei SelfRegister anpassen?
Guten Tag!
Alle ausgelesen Einträge sind wichtig. Normalerweise werden die COM-Werte über bis zu 4 MSI-Tabelen verteilt, da COM einer der Einstiegspunkte für Reparaturinstallationen sind.
Alle ausgelesen Einträge sind wichtig. Normalerweise werden die COM-Werte über bis zu 4 MSI-Tabelen verteilt, da COM einer der Einstiegspunkte für Reparaturinstallationen sind.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust