![]() |
Mit Delphi auf MSI Dateien zugreifen!
Hallo,
ich bin seit längerem auf der Suche nach der Möglichkeit Windows Installer Dateien (MSI Pakete) per Delphi zu öffnen bzw. auszulesen und analysieren. Kennt irgendjemand zu diesem Bezug eine verfügbare Komponente die dies einfach ermöglicht? (Darf auch etwas kosten!) Für Tipps wäre ich euch Dankbar! In diesem Sinne.... schonmal danke! Martin |
Re: Mit Delphi auf MSI Dateien zugreifen!
der windowsinstallerdienst hat eine com schnittstelle.
diese ist u.a. im win-installer-sdk (plattform-sdk) erklaert. wenn dir das zu kompliziert ist kannst du aber auch mir dem WiX msi in xsl umwandeln und vice versa. |
Re: Mit Delphi auf MSI Dateien zugreifen!
COM-Schnittstelle? :gruebel: Es gibt ganz gewöhnliche API-Funktionen für den MSI. Ansonsten empfehle ich ganz einfach
![]() Edit: Ach so, generic meint vermutlich die Möglichkeit, bspw. über VB-Skript auf Eigenschaften usw. zuzugreifen. Wie das funktioniert, demonstrieren die beiliegenden Skripte, wenn man das Installer-SDK installiert. |
Re: Mit Delphi auf MSI Dateien zugreifen!
Das MSI API ist bei
![]() |
Re: Mit Delphi auf MSI Dateien zugreifen!
Danke für den Tip mit der Jedi API!
Ist dort eine kleine Demo mitdabei? :-D Oder kennt jemand einen Link für eine kleine Demo? Trotzdem Danke für den guten Tip!!!!! |
Re: Mit Delphi auf MSI Dateien zugreifen!
Eine Demo ist, AFAIK, nicht dabei. Außerdem: Was soll sie denn können? Es gibt so viele Dinge, die man mit dem MSI-API anstellen kann. Die beste Lektüre zum Thema ist eben immer noch das Installer-SDK bzw. das PSDK bzw. das MSDN.
|
Re: Mit Delphi auf MSI Dateien zugreifen!
klar com, du kannst dir aus der c:\winnt\system32\msi.dll das interface importieren und dann loslegen.
ungefair so sieht das in meinen prg aus.
Delphi-Quellcode:
klar du kannst auch die nativ api nutzen, dazu müsste man aber eine übersetzung der msi.h usw. haben.
oInstaller:=CreateComObject(DIID_Installer) as Installer;
state:=oInstaller.FeatureState[c_Verwaltung,c_Feature]; if state=msiInstallStateLocal then oInstaller.ReinstallFeature(c_Verwaltung, c_Feature, msiReinstallModeFileReplace) else oInstaller.ConfigureFeature(c_Verwaltung, c_Feature, msiInstallStateLocal); diese gibt es auch wie oben gepostet, aber ist diese ich glaube für den version1.1. der installer liegt aber schon in version 3 vor. hat sich aber nicht soviel getan zwischen 1.1 und 3. features nachinstallieren geht auf jedenfall in allen versionen. |
Re: Mit Delphi auf MSI Dateien zugreifen!
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz