Anlegen von Verknüpfungen mit dynamischen Namen

Fragen zum AKInstallerMSI
Antworten
Slabon
Beiträge: 11
Registriert: 23.07.2007, 21:30
Wohnort: Mönsheim

Anlegen von Verknüpfungen mit dynamischen Namen

Beitrag von Slabon »

Hallo !

Ich möchte die Namen von Verknüpfungen (-> z.B. auf dem Desktop) während dem Setup festlegen (-> den Namen des Zielordners). In meinem AKInstallerMSI (v1.9) kann man aber keine Eigenschaften benutzen (auch nicht bei Nutzung der Mehrsprachigkeit).

Hintergrund ist die Möglichkeit einer Parallelinstallation einer einzelnen Programmversion, wobei jedes Programm "seine" Desktop-Verknüpung bekommen soll.
Bisher hatte ich eine Lösung mit eigenen CAs am Ende der Installation (bzw. bei Updates Deinstallation der Vorgängerversion). Leider/Dummerweise schiebt sich jetzt Windows 7 (und Vista) mit der UAC unangenehm dazwischen, da diese CAs immer im Benutzerkontext ausgeführt werden - zumindest kann ich "System Kontext" nicht wählen, da "verzögerte Ausführung" wohl nicht mehr so spät in die ExecuteSequence einfügen lassen (sondern nur synchrone).

Gibt es dazu eine (schnelle) Idee bzw. wie funktioniert das bei der Parallel-Installation im aktuellen AKInstallerMSI (v2.7.xxx) ?

Viele Grüße


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

Re: Anlegen von Verknüpfungen mit dynamischen Namen

Beitrag von Andreas Kapust »

Guten Tag!

Der Name-Eintrag erlaubt leider keine Eigenschaften, sondern muss als SFN|LFN aufgebaut sein.
Wäre stattdessen möglich SHORTCUTDIR auf der Produkt-Seite um [ProductVersion] zu erweitern?

Sie können ihre CA doch vor InstallFinalize verzögert im Systemkontext laufen lassen oder nicht?

Oder Sie müssen, wenn eine Eigenschaft verwendet werden soll, diese in zwei Teile teilen.

Eine sofortige Ausführung (Benutzerkontext), zwischen CreateShortcuts und InstallFinalize und eine im Systemkontext, die von der ersten CA per MsiDoAction() angestoßen wird, und der Sie den Wert der Eigenschaft perIPROPNAME_CUSTOMACTIONDATA übergeben.

Hintergrund:
Verzögert besteht keine Möglichkeit für DLL/Skript-CAs auf Eigenschaften zuzugreifen, darum wird diese als String per IPROPNAME_CUSTOMACTIONDATA übergeben.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Slabon
Beiträge: 11
Registriert: 23.07.2007, 21:30
Wohnort: Mönsheim

Re: Anlegen von Verknüpfungen mit dynamischen Namen

Beitrag von Slabon »

Hallo Herr Kapust,

Das Vorgehen über die verzögerten CAs hatte ich schon gelesen, nur die Übergabe der Eigenschaften war ein kleines Geheimnis, welches erst durch ein Beispiel im SDK gelüftet wurde.
Aber zwischenzeitlich läuft es so, wie es sein soll.

Trotzdem vielen Dank für Ihre Antwort.

Viele Grüße

Werner Slabon
Antworten