Frage

Aus irgendeinem Grund sind wir ein Produkt mit unserer eigenen installieren GUI liefern, das heißt, werden wir die msi Installation im Hintergrund Hintergrund ausgeführt werden.

Durch den MSI-API „MsiInstallProduct“ verwendet wird, kann ich das Produkt unbeaufsichtigt installieren, aber ich habe keine Ahnung, wie kann ich die Fortschrittsdaten dieser Installation erhalten und wie kann ich es gelöscht werden.

Jeder hat ein paar Ideen?

War es hilfreich?

Lösung

Hier ist ein Beispielprojekt, das, was Sie zu tun erscheint beziehen sich auf: http://www.codeproject.com/KB/cs/msiinterop.aspx

Andere Tipps

UPDATE Juni 2018 : Obwohl das Tool weiter unten verfügbar ist nicht mehr zum Download, fand ich es über Wayback Maschine. Ich gehe davon aus, es ist OK und legal ist, um es zu verbinden, da das Tool Freeware war. Aktualisiert Links unten.

UPDATE : Dieses Tool von Wise heruntergeladen werden leider nicht mehr . Ich bin nicht sicher, ob es in Ordnung ist es entweder zu verteilen. Es schien ein kostenloses Tool als Teil ihrer Haupt Wise Package Studio Suite verteilt zu sein, aber ich glaube nicht, es ist Open Source. Ich wünschte, sie würden loslassen als Open-Source-Tool.

Die Wise Verpackung Produkte wurden aufgrund einer Reihe von aufgegebenem Rechtsfragen .


Ich glaube, Sie den Fortschritt über den MSI-API zu bekommen, aber wenn ich Sie wäre, würde ich nur zeigen, die Fortschrittsbalken aus dem MSI selbst nach dem über installiert Aufruf msiexec.exe .

MSI unterstützt verschiedene Installationsebene (voll, ganz zu schweigen, grundlegende GUI, reduziert GUI etc ...). In Ihrem Fall klingt es wie Sie eine einfache Benutzeroberfläche möchten. Daraus ergibt sich ein Fortschrittsbalken, wo Sie auf die Schaltfläche Abbrechen verstecken kann, und optional einen Abschluss modaler Dialog zeigen:

Installieren leise mit Fortschrittsbalken, keine Taste abbrechen und kein modales Dialogfeld am Ende:

msiexec.exe /I "Test.msi" /QB-!

Um zu vermeiden, diese dummen msiexec Befehlszeilen manuell zu konstruieren, verwenden Sie die msi Befehlszeile Aufbauertool von Wise: http://www2.wise.com/filelib/WICLB.exe ( von Wayback auferstehen Maschine ).

Bitte führen Sie den Download von virustotal.com für die Sicherheit.

eingeben Bild Beschreibung hier


ähnlicher :

Sie benötigen einen externen UI-Handler MsiSetExternalUI oder MsiSetExternalUIRecord vor MsiInstallProduct angeben (letzteres ist schöner, aber eine höhere MSI-Version Anforderung). Die Funktion, die Sie angeben, wird für jede Nachricht aufgerufen werden Windows Installer möchte, dass Sie verarbeiten. Dadurch erhalten Sie die Daten, und eine Chance, es zu reagieren, sagen abzubrechen. Wenn Sie MSI benötigen 4.5 oder höher verwenden, können Sie einen eingebetteten externen UI-Handler DLL verwenden, die kein Bootstrap benötigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top