Ist es machbar/sinnvoll, ein Inno -Setup -Installateur in eine MSI zu wickeln, um die Verteilung durch Anzeige zu vereinfachen?

StackOverflow https://stackoverflow.com/questions/71203

  •  09-06-2019
  •  | 
  •  

Frage

Unser Installateur ist mit Inno Setup geschrieben und wir sind wirklich sehr zufrieden damit. Einige Kunden fragen jedoch immer wieder ein MSI -Installateur, das sie über Active Directory leichter verteilen könnten. Wir haben bereits einige Länge unternommen, um das Installationsprogramm mit automatisierten und unbeaufsichtigten Installationen durch die Erweiterung von Inno Setups wirklich gut zu machen. /LOADINF-Mechanismus mit unseren eigenen Optionen.

Um die Kunden zu befriedigen, die nach MSI gefragt wurden, hatte ich darüber nachgedacht, einfach unser reguläres Installateur in einen MSI zu wickeln, der möglicherweise mit WIX erstellt wurde. Die Frage ist: Kann ich die hohe Konfigurierbarkeit beibehalten, die unser aktuelles Installationsprogramm auf diese Weise bietet? Wie würde ich die Optionen des Inno Setup -Installationsprogramms im äußeren MSI im unbeaufsichtigten/Masseninstallationsszenario enthüllen?

Beachten Sie, dass ich nicht wirklich so gekommen bin, dass ich mich tatsächlich in MSI-Schöpfung eingraben und mich selbst noch nicht gewechselt habe. Im Moment bin ich nur daran interessiert, ob Menschen, die wissen, wovon sie sprechen, denken, dass dies ein machbarer/vernünftiger Ansatz wäre, um unsere Energie überhaupt in zu investieren ...

Bearbeiten:] Zunächst dachte ich, ich könnte mit dem Temperaturextraktions- und Ausführungsansatz antreten, dh der MSI würde einfach als Schiff für die Lieferung des Inno -Installationsprogramms an den Ziel -PC dienen und dort ausführen /VERYSILENT-Modus. Aber ich denke, die Kunden, die nach dem MSI fragen, möchten auch in der Lage sein, die Installation von einem zentralen Standort aus zu deinstallieren oder sogar zu ändern, und ich denke, das wird in diesem Szenario nicht möglich sein, oder?

PS: Wir haben auch hier eine alte Kopie von Wise for MSI, aber diese Erfahrung war eigentlich der Grund, warum wir anfingen, inno zu beginnen, mit ...

War es hilfreich?

Lösung

Nein, es gibt keine Möglichkeit, das zu tun, während die Funktionen, nach denen Ihre Kunden „implizit“ sind, weiterhin zu halten. Das einzige "Wraping" in MSI, das Sie tun können, besteht darin, es bei der Installation zu extrahieren und Ihr InnoSetup -Installateur vom temporären Ort zu starten, an dem Sie extrahiert haben. MSI ist eine grundsätzlich andere Arbeitsweise: InnoSetup (& nsis & die meisten anderen Installateure) verfolgen einen codentrischen Ansatz: Sie „Programm“, um Ihre Daten zu installieren. MSI ist eine Datenbank und verfolgt einen "datenzentrierten" Ansatz: Sie geben an, welche Dateien installiert werden sollen und die MSI-Laufzeit "Runtime" den Rest erledigt. Dies gibt Ihnen die Versionierung und genaue Kontrolle darüber, was wohin geht.

Kurz gesagt, um Ihren Kunden das zu geben, was sie wollen (dh die einfache Bereitstellung, die MSI mit der Anzeige bringt), benötigen Sie "richtige" MSI. Viel Glück damit, es ist ein großer Schmerz imho. Aber es liefert gute Ergebnisse, sobald Sie MSI & Wix beherrschen.

Andere Tipps

Ich hatte dieses Problem schon oft selbst. Daher habe ich eine Standardmethode erstellt, um dieses Problem zu erreichen, und es führte zu einem Assistenten, der Sie durch die Schritte führt. Das Tool unterstützt Folgendes:

  1. Wickeln Sie die Exe in einen MSI.
  2. Unterstützen Sie Deinstallation.
  3. Zeigen Sie nur ein Programm in "Programme hinzufügen oder entfernen" an.
  4. Ermöglichen Sie, dass Sie die Befehlszeilenargumente wie /still an das eingebettete Setup übergeben, wenn Sie das MSI -Paket mit msiexec.exe ausführen.

Sie können es bekommen bei http://www.exemsi.com (Die Grundversion ist kostenlos)

Verwenden Sie mein Kontaktformular und lassen Sie mich wissen, was Sie denken :-)

Als Antwort auf Ihre Bearbeitung: Ja, das, was Sie beschreiben, verhindert, dass Upgrades (außer Löschen/Neuinstallation) und Remote -Konfiguration durchgeführt werden, da die MSI -Datenbank nichts über den Inhalt Ihres Installers weiß.

Auf diese Weise wurden jedoch viele Installationspakete mit MSI 'Support' gestartet: Installshield hat beispielsweise getan. Das ist der Hauptgrund, warum ich sie abgeladen habe, weil die auf diese Weise hergestellten Installateure für MSI -Zwecke nutzlos sind. Ich weiß nicht, ob die jüngsten Versionen von Installshield besser sind. Das letzte Mal, als ich überprüft habe, war vor 5 Jahren.

Es ist ziemlich einfach, ein Wrapper -Kit zu erstellen, das InnoSetupper automatisch von MSI installiert. Für die grundlegende Funktionalität (Installation/Deinstallation) reicht dies aus. Die meisten SETUPPERS implementieren ohnehin keine Reparatur.

  1. Erstellen Sie Silent.inf Skript für Inno Setup (optional)

  2. erstellen install.bat, die Anrufe aufrufen

    myinnosetup.exe /stut /nocancel /norestart /components = "xxx"

    Sie können /sehr sillos verwenden
    Sie können Einstellungen von Silent.inf mit /loadInf="silent.inf "laden"

  3. Erstellen Sie die MSI -Setup -Datei, die install.bat aufruft (bei Bedarf mit Parametern).

  4. Liefern Sie Ihren Kunden alle 4 Dateien und sie können Ihren Inno -Setupper mit SMS oder Active -Anleitungen bereitstellen, und alle sind glücklich :)

Ich würde argumentieren, dass es möglich ist, alles zu tun, was Sie mit einem MSI -Wickel -Inno -Setup möchten, aber es ist alles andere als trivial, und die Verwendung von Wix könnte diese besondere Aufgabe erschweren. Kurz gesagt, ich würde es nicht wirklich empfehlen.

Aber wenn Sie wirklich ...

MSI -Dateien sind einfach Datenbankdateien mit zusätzlichen Skriptanweisungen und betten häufig die .cab -Datei ein, die die Dinge enthält, die Sie tatsächlich installieren möchten.

Wenn Sie WISE verwenden, generieren Sie Standardskripte, die Sie Windows Installer -Bedingungen in einen feineren Grad hinzufügen und steuern können (installieren, reparieren, ändern, deinstallieren), damit sie äquivalente Aktionen auf Ihrem Inno -Setup -Installationskript aufrufen, das würde, das würde, das würde müssen in einem temporären Ordner installiert und aufbewahrt werden.

Es macht keinen Sinn Mixing -Installationstechnologien.

Wenn Sie mischen, erhalten Sie das erste Problem mit dem Deinstallieren. Ohne Änderungen erhalten Sie 2 Deinstallationen Ihres Programms.

Es gibt einige Artikel, die mit Windows Installer im "Entwickler Magazine" beginnen

  • Entwickler Magazin (Ausgabe: 03.09/15.04.2009) Artikel: MSI-Pakete MIT Open-Souce-Software Erzeugen Teil 4
  • Entwickler Magazin (Ausgabe: 02.09/12.02.2009) Artikel: MSI-Pakete MIT Open-Souce-Software Erzeugen Teil 3
  • Entwickler Magazin (Ausgabe: 01.09/10.12.2008) Artikel: MSI-Pakete MIT Open-Souce-Software Erzeugen Teil 2
  • Entwickler Magazin (Ausgabe: 06.08/15.10.2008) Artikel: MSI-Pakete MIT Open-Souce-Software Erzeugen

http://entwickler-magazin.de/

Windows Installer sollte die einzige Technologie für Ihre Installationen sein. Sein zukünftiger Beweis und es ist stabil!

Das Einpacken eines Inno -Setups in ein MSI -Paket ist keine triviale Aufgabe. Es ist jedoch möglich. Es gibt viele kostenlose Tools, die dazu verwendet werden können. Sie sollten eine auswählen, die auch Deinstallation und Upgrades unterstützt.

Ich habe nur ein kostenloses Tool gefunden, das Upgrades unterstützt und deinstalliert. Kasse http://www.exemsi.com/inno-setup-and-msi

Dies wäre so ziemlich gleichwertig, eine Zip -Datei zu liefern und Unzip bis zum Ende der Installation anzurufen.

Mit einem solchen Annäherungs -AD und dem Windows -Installationsprogramm würde man sich so täuschen, als würde man sich mit der richtigen MSI -Installation befassen, aber da dies nicht der Fall ist, würden sie bei der ersten Gelegenheit auf Sie nach hinten losgehen.

Geh nicht so.

Und WIX ist ohnehin ein überlegenes Toolset für InnoSetup.

Obwohl der letzte Kommentar machbar und praktikabel ist, ist der Umzug zu MSI der beste Weg, um damit umzugehen.

Fast alle großen Organisationen haben nur MSI festgelegt, es gibt eine Vielzahl von Gründen, warum.

1) Erstens ist eine einfache Bereitstellung 2) Für einige wichtiger ist die Anwendung Geselligkeit 3) Selbstheilung

Inno Setup und andere solche Tools, die Windows Installer nicht implementieren, können die Anwendungsgesellschaft einfach nicht auf die gleiche Weise wie Windows Installer anbieten.

Sie müssen verstehen, dass Inno Setup Software für die Bereitstellung einer einzelnen Anwendung entwickelt hat.

Windows Installer ist ein ganzer Framework, um mit Geselligkeit, Benutzerimpotierung, Benutzererhebung, Selbstheilung und Benutzerprofil zu befassen.

Sie zwei sind nicht einmal in der Funktionalität aus der Ferne enorm. Inno Setup in meinem Kopf ist im Vergleich zum Windows -Installationsprogramm vollständig und völlig abseits des Kurses.

Kann es erfolgreiche Installateure erstellen? Ja ist es einfach zu bedienen? Ja, erzeugt es gute Einzelinstallateure? Ja, ist es die beste Wahl für Enterprise? nein

Die frühesten Tools, die von Microsoft "SMS Installer" entwickelt wurden, waren vor 10 Jahren innosetup. Die Dinge haben sich in der Installationswelt drastisch verändert und das Inno -Setup hat einfach nicht mit dem Tempo dieser Veränderung Schritt gehalten.

Ich muss einen Custome -Wert auf das still.inf (kein gestabtes Inno -Setup -Einstellungswert) eingeben. Dosent sieht so aus, als ob loadInf dies zulässt.

Hinweis: Wenn Sie Makemsi verwenden, müssen Sie keine Fledermaus einfügen, da Sie $ Wrapinstall verwenden können.

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