Frage

so, hier ist die Situation hier.

Ich habe 2 asp.net Websites + einige winform Anwendungen, die mit einem Setup installiert sind. Sie sind alle als Mergemodulen in das Setup-Projekt dargestellt.

Zur Zeit, wenn wir die globale Version der Anwendung aktualisieren möchten wir alle Versionen in asp.net Websites und Sachen aktualisieren. Ich weiß, es ist möglich, die Version in die Montageinfo einer asp.net Anwendung zu erkennen, was recht einfach ist. Die Schwierigkeit dabei ist es, die „global“ Setup-Version zu erkennen. (Sagen, hier ist die Website-Version 1.5 aber die globale Einrichtung selbst ist Version 3.4).

Irgendwann habe ich das denke, wenn ich die setup.exe / setup.msi Datei lokalisieren ich es mit Reflexion sehen konnte, aber es ist nicht gerade die beste Lösung. Wir speichern jedes Setup pro Version auf dem Server auf einem separaten Ordner (ex c. \ Setups \ Artikel 1.0 \ Setup.exe, c: \ Setup \ Produkt 1.5 \ Setup.exe, etc ..)

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

definieren "global" Setup-Version. Wollen Sie damit sagen, dass jeder Patch einige Updates, aber nicht alle Baugruppen und damit die Version von einem der Montage oder auch jede der Baugruppen überhaupt, nicht reflektieren das letzte Patch installiert?

3 Möglichkeiten:

  • Halten Sie die globale Version info in jeder Konfigurationsdatei und Push-out-Updates zu jeder Konfiguration aller installierten Komponenten jedes Mal (nicht empfohlen).
  • Geben Sie eine gemeinsame Konfigurationsdatei oder Referenzen von anderen Konfigurationen zu einem „main“ config, das kann von einem der ausführbaren Projekte verwiesen werden, und stellen Sie sicher, dass Config jedes Mal aktualisiert wird.
  • Halten Sie einen Registrierungsschlüssel, die globale Version für das Softwarepaket enthalten.

Von den drei, würde ich die letzte holen, da die Installation und Patchen ich über mehrere Bereiche des Systems ist, aber jeder Bereich soll in der Lage, einen Software-Registrierungsschlüssel (falls nicht aktualisieren) zu lesen. Der Prozess ist nicht schwierig; Sie können die statische System.Win32.Registry Objektreferenz auf Basisschlüssel für Localmachine, Current zu erhalten, usw., und von dort können Sie den Baum durchlaufen, indem die Navigation durch RegistryKey Objekte (oder eine von Grund auf mit dem Schlüsselpfad zu schaffen). Sie können den Schlüsselpfad mit einem AppSetting in den verschiedenen Web-und app.config Dateien angeben; dies sollte nicht annähernd so oft wie der Wert des Schlüssels selbst ändern.

Andere Tipps

Wenn Sie mehrere Pakete von einem MSI installieren, dann ist es am besten, das MSI einzulassen ARP aufgeführt wird und dann die Version dieses „Global Setup“ wird leicht auf zukünftige MSI zur Verfügung. Ohne zu wissen, welche Technologie Sie verwenden, um Ihre Einrichtung zu schaffen, ist es schwer, solidere Ratschläge zu geben, aber in WiX (Windows Installer XML) Sie einfach ein Upgrade Element enthalten müssen, die für Sie kümmern sich um diese automatisch zu nehmen. Die meisten Technologien sollten eine Möglichkeit haben für Sie die aktuelle Version installieren zu überprüfen.

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