Möchte Thunderbird Verzeichnis auslesen...

Fragen zum AKInstallerMSI
Antworten
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Kukulkan »

Hallo,

ich möchte in das "extensions" Verzeichnis im Thunderbird Installationsordner Dateien kopieren. Leider ist der Pfad wohl nur so zu ermitteln:

Die Registry-Pfade schauen dann zB je nach installierter Version so aus:

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\3.0.6 (de)\Main\Install Directory
oder auch
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\3.1.1 (de)\Main\Install Directory

Um das zu ermitteln müsste man mit zwei Schritten vorgehen:

CURRENTVERSION = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\CurrentVersion"

PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\<CURRENTVERSION>\Main\Install Directory"

Das bedeutet, im zweiten Registry-Pfad muss ich das Ergebnis aus der ersten Abfrage verwenden.

Wie finde ich den Pfad mit dem AKInstallerMSI raus um ganze Ordner-Strukturen und Dateien an diesen Ort (+ extensions/) zu kopieren?

Grüße,

Kukulkan
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Kukulkan »

ERGÄNZUNG:
Ich kann den Installer auch nach thunderbird.exe suchen lassen. Aber da ich nicht nur den Pfad in der Variablen bekomme, ist die Variable dann incl. thunderbird.exe:

<THUNDERBIRD> = c:\program files\Mozilla Thunderbird\thunderbird.exe

Das kann ich dann auch nicht benutzen um den Installer die Dateien da reinkopieren zu lassen. :(
Ich will ja nach

<THUNDERBIRD>extensions\meinAddIn\etc.

kopieren. Sozusagen nach

c:\program files\Mozilla Thunderbird\extensions\meinAddIn

Brauche echt Hilfe...

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Andreas Kapust »

Guten Tag!

Idealerweise machen Sie das Ganze über eine eigene Custom Action. :wink:
<THUNDERBIRD> = c:\program files\Mozilla Thunderbird\thunderbird.exe
Das kann ich dann auch nicht benutzen um den Installer die Dateien da reinkopieren zu lassen. :(
Ich will ja nach
Den Ordner bekommen Sie, in dem Sie bei Suche in -> Registry -> Element ist ein Ordner angeben.
"HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\<CURRENTVERSION>\Main\Install Directory
Es müsste dann HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird\[CURRENTVERSION]\Main\Install Directory.
Dies funktioniert aber nur, wenn die Suche nach CURRENTVERSION vorher ausgeführt wird, was sich bei Registry-Keys nicht festlegen lässt.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Kukulkan »

Hallo,
Den Ordner bekommen Sie, in dem Sie bei Suche in -> Registry -> Element ist ein Ordner angeben.
Ich habe den Wert ja aber per Dateisuche ermittelt (weil registry nicht funktioniert hat). Dann nützt die Einstellung auf der Registry-Ebene ja nix... Ich bekomme bei der Dateisystem-Suche nach "thunderbird.exe" nunmal nicht nur den Pfad sondern alles incl. Dateiname.

Wie das mit einer CustomAction gehen soll ist mir schleierhaft. Einen Tipp dazu?
Dies funktioniert aber nur, wenn die Suche nach CURRENTVERSION vorher ausgeführt wird, was sich bei Registry-Keys nicht festlegen lässt.
Ich kann bei der Suche nach einem Registry-Key also auch Variablen nutzen? Wenn die Reihenfolge einmal klappt (und man es dann nicht mehr anfasst), klappt es dann immer oder ist das random? Ich kann ja die beiden löschen und in der richtigen Reihenfolge anlegen, oder?

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Andreas Kapust »

Guten Tag!
Wie das mit einer CustomAction gehen soll ist mir schleierhaft. Einen Tipp dazu?
Hier können Sie die Daten per VBScript oder DLL auslesen und entsprechend verarbeiten.
Ich kann bei der Suche nach einem Registry-Key also auch Variablen nutzen? Wenn die Reihenfolge einmal klappt (und man es dann nicht mehr anfasst), klappt es dann immer oder ist das random? Ich kann ja die beiden löschen und in der richtigen Reihenfolge anlegen, oder?
Ab der nächsten Vorabversion 2.7.253 ist es über die Erweiterte Datensuche möglich auch Registry-Keys auszulesen und entsprechend weiter zu bearbeiten.
Die Erweiterte Datensuche ermöglicht auch eine Positionsangabe der Suche, also kein random.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Kukulkan »

Hallo Herr Kapust,

vielen Dank für die Informationen. Ich arbeite allerdings noch mit V1.9.355 und möchte nicht nur deshalb jetzt upgraden (alles andere funktioniert gut). Deshalb nochmal die Frage, inwiefern die registry-Suchen in der Reihenfolge gehandhabt werden.

- ist die Reihenfolge im MSI nach MSI compilation dann fix? Wenn es einmal geht, dann in diesem MSI immer?
- ist die verwendete Reihenfolge abhängig von der Anlage-Reihenfolge im AKInstallerMSI?
- ist die verwendete Reihenfolge abhängig von der Ansicht-Reihenfolge (Sortierung) im AKInstallerMSI?
- kann durch bearbeiten im AKInstallerMSI die Reihenfolge 'kaputt' gehen?

Diese Informationen würden mir sehr helfen um das abzusichern. Wenn ich in Daten Suchen nix mehr mache und es einmal geht, bleibt das dann so? Wenn ich in Daten Suchen dann etwas ändere, dann muss ich eben neu schauen und testen?

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Möchte Thunderbird Verzeichnis auslesen...

Beitrag von Andreas Kapust »

Guten Tag!

Die Funktion entnimmt die Daten aus der Tabelle, angfangen an Position 1.
Die Einträge werden so, wie sie im Projekt stehen auch geschrieben (die Sortierung auf der Seite spielt keine Rolle).

Wenn es also einmal läuft und Sie nichts daran ändern, müsste (solange nichts im windows Installer verändert wird) auch weiterhin laufen.
Verlässlich ist dies aber eher nicht. :?

Aus diesem Grunde, wenn Sie nicht update wollen, würde ich vorschlagen, diese Aufgabe mit einer eigenen Custom Action-Dll zu (oder einem VB-Skript) bewerkstelligen.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Antworten