InstallSite Forum


  Reply to this topicStart new topicStart Poll

> Advertised Shortcut, via .Applikation ermitteln und starten
Holger_G
Posted: 2010-05-25 10:30
Quote Post





Group: Full Members
Posts: 152
Member No.: 2603
Joined: 2002-01-22



Hallo,

wie kann man auf einfache Art und Weise einen installierten Advertised Shortcut einer Advertise Installation via einer .NET Applikation ermitteln und starten? Lässt sich das mittels MSI APIs und/oder DTF elegant lösen?

Danke für Hilfe
Holger

PMEmail Poster
Top
Holger_G
Posted: 2010-06-17 08:51
Quote Post





Group: Full Members
Posts: 152
Member No.: 2603
Joined: 2002-01-22



Hat da evtl. noch jemand eine Idee?
PMEmail Poster
Top
Stefan Krueger
Posted: 2010-06-18 09:08
Quote Post


InstallSite.org


Group: Administrators
Posts: 11535
Member No.: 1
Joined: 2001-02-07



Also du kannst per MSI API abfragen, ob das Produkt advertised oder installiert ist, und du kannst es auch installieren. Aber mir ist nicht klar, was du mit dem Shortcut vorhast?


--------------------
PMEmail PosterUsers Website
Top
Holger_G
Posted: 2010-06-21 07:52
Quote Post





Group: Full Members
Posts: 152
Member No.: 2603
Joined: 2002-01-22



QUOTE (Stefan Krueger @ 2010-06-18 09:08)
Also du kannst per MSI API abfragen, ob das Produkt advertised oder installiert ist, und du kannst es auch installieren. Aber mir ist nicht klar, was du mit dem Shortcut vorhast?

'Shortcut' ist wohl nicht wirklich treffend in diesem Kontext. Ich möchte innerhalb einer Applikation feststellen, ob ein Produkt installiert ist (Full oder Advertised) und falls ja, eine Applikation des Produkts starten.
PMEmail Poster
Top
Stefan Krueger
Posted: 2010-06-22 16:43
Quote Post


InstallSite.org


Group: Administrators
Posts: 11535
Member No.: 1
Joined: 2001-02-07



Wie wärs dann mit MsiQueryProductState ?


--------------------
PMEmail PosterUsers Website
Top
Holger_G
Posted: 2010-06-23 08:11
Quote Post





Group: Full Members
Posts: 152
Member No.: 2603
Joined: 2002-01-22



QUOTE (Stefan Krueger @ 2010-06-22 16:43)
Wie wärs dann mit MsiQueryProductState ?

Angenommen das Produkt ist Advertised, wie könnte ich dann ein executable der Installation starten? Manuell klicke ich ja einfach auf den advertised Shortcut, aber wie mache ich das von meiner Applikation aus?
PMEmail Poster
Top
Stefan Krueger
Posted: 2010-06-24 11:53
Quote Post


InstallSite.org


Group: Administrators
Posts: 11535
Member No.: 1
Joined: 2001-02-07



Hmm, hast du dir mal folgende angeschaut:
MsiInstallProduct
MsiConfigureProduct(Ex)

Bestimmt gibt es auch in einem Blog einen Artikel der beschreibt, was beim Klick auf einen Advertised Shortcut passiert. Nur habe ich gerade nichts passendes zur Hand.


--------------------
PMEmail PosterUsers Website
Top
akerl
Posted: 2010-06-25 10:01
Quote Post





Group: Full Members
Posts: 90
Member No.: 4303
Joined: 2002-07-09



Da kann ich Stefan nur zustimmen. Grundsätzlich ist es ja so, dass im Advertsed Shortcut der Pfad zu der Ressource enthalten ist, die gestartet werden soll. Allerdings liegt diese Infos nicht in normaler Pfad-Schreibweise dort, sondern als Darwin Descriptor. Hierbei handelt es sich letztlich um eine Art Trigger für die Windows-Shell. Bei einem Klick auf den Shortcut versucht die Shell zunächst das Ziel zu starten. Geht ja nicht, da hier der DD steht, und die Shell damit nichts anfangen kann. Nun kontaktiert die Shell die Windows Installer Infrastruktur und fragt ob sie mit dem Shortcut was anfangen kann. MSI ruft intern nun MsiGetShortcutTarget() auf. Das Ergebnis ist der Productcode, das Feature und die ComponentId. Über diese Eigenschaften kann nun der KeyPath der Komponente durch MsiGetComponentPath() bestimmt werden. Letztlich ist das die Ressource die dann gestartet wird. Natürlich führt der MSI zuvor noch Checks bzgl. der Existenz der KeyPath-Ressourcen durch (Auto-Repair).
Die Funktionalität gibt es natürlich auch in DTF.

HTH


--------------------
Andreas Kerl

Inside Windows Installer 4.5
ISBN 3-86645-431-7 | http://www.microsoft-press.de/?cnt=product&id=ms-5431
PMUsers Website
Top
Holger_G
Posted: 2010-06-30 07:36
Quote Post





Group: Full Members
Posts: 152
Member No.: 2603
Joined: 2002-01-22



Danke euch beiden, das bringt mehr Licht ins Dunkel.
PMEmail Poster
Top

InstallShield & AdminStudio Training

Kurse in deutscher Sprache hier.

Courses in English, French and Italian language here.


« Next Oldest | MSI Allgemein | Next Newest »

Topic Options Reply to this topicStart new topicStart Poll