| InstallSite · E-mail and password recovery note · Contact |
Help
Search
Members
Calendar
|
| Welcome Guest ( Log In | Register ) | Resend Validation Email |
![]() ![]() ![]() |
| Holger_G |
Posted: 2010-05-25 10:30
|
|
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 |
| Holger_G |
Posted: 2010-06-17 08:51
|
|
Group: Full Members Posts: 152 Member No.: 2603 Joined: 2002-01-22 |
Hat da evtl. noch jemand eine Idee?
|
| Stefan Krueger |
Posted: 2010-06-18 09:08
|
![]() 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?
-------------------- Stefan Krüger
Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Read this before sending me e-mail or private messages |
| Holger_G |
Posted: 2010-06-21 07:52
|
||
|
Group: Full Members Posts: 152 Member No.: 2603 Joined: 2002-01-22 |
'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. |
||
| Stefan Krueger |
Posted: 2010-06-22 16:43
|
![]() InstallSite.org Group: Administrators Posts: 11535 Member No.: 1 Joined: 2001-02-07 |
Wie wärs dann mit MsiQueryProductState ?
-------------------- Stefan Krüger
Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Read this before sending me e-mail or private messages |
| Holger_G |
Posted: 2010-06-23 08:11
|
||
|
Group: Full Members Posts: 152 Member No.: 2603 Joined: 2002-01-22 |
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? |
||
| Stefan Krueger |
Posted: 2010-06-24 11:53
|
![]() 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. -------------------- Stefan Krüger
Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Read this before sending me e-mail or private messages |
| akerl |
Posted: 2010-06-25 10:01
|
![]() 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 |
| Holger_G |
Posted: 2010-06-30 07:36
|
|
Group: Full Members Posts: 152 Member No.: 2603 Joined: 2002-01-22 |
Danke euch beiden, das bringt mehr Licht ins Dunkel.
|
![]() |
![]() ![]() ![]() |