Frage

Wir haben derzeit 4 Installateure für unsere Client-Software:

  • ClientSetupTest
  • ClientSetupProduction
  • ClientUpdateTest
  • ClientUpdateProduction

Die einzigen Unterschiede zwischen ihnen sind, dass Setup enthält den Crystal Reports verteilbaren Dateien, und nicht aktualisiert. Test und Produktion gibt nur die Umgebung, die sie laufen in und der einzige Unterschied besteht eine Zeile in der Client.exe.config Datei.

Dumb, weiß ich, weshalb ich sie alle mit einem Installationsprogramm ersetzt, nachdem von Crystal Reports loszuwerden. Der neue Installer schreibt die ausgewählte Umgebung, um setup.config, die durch das Dateiattribut ( siehe hier ).

Die „Datei“ -Attribut ist neu in die Konfigurationsdatei mit dem neuen Installer. Das Problem, das ich in laufen lasse, ist, dass, wenn wir die Client.exe.config Datei auf einer alte Installation ändern, dann das neue Installationsprogramm ausführen, die Konfigurationsdatei wird nie mit dem „Datei“ Attribute aktualisiert.

Gibt es eine Möglichkeit, es zu zwingen, eine Datei zu aktualisieren? RemovePreviousVersions nicht genau arbeiten, da es ein anderes Installationsprogramm ist, es sei denn ich etwas Missverständnis bin. Meine aktuelle Idee, die wahrscheinlich funktionieren wird, ist der Code in der OnBeforeInstall Methode hinzufügen, um die alten Client.exe.config in eine Sicherungsdatei umbenennen, so dass es dann immer die neuen schreiben. Scheint, wie es sollte jedoch eine einfachere Lösung im Installer selbst, sein. Irgendwelche Ideen?

Bearbeiten : die alte Konfigurationsdatei umbenennen, bevor Sie Client.exe.config.old base.OnBeforeInstall () aufgerufen hat nicht funktioniert. Es umbenannt die Datei, aber nie schrieb die neuen.

War es hilfreich?

Lösung

Windows Installer wird nicht eine geänderte Datei aktualisieren .

  

Nonversioned Dateien sind Benutzerdaten-Wenn das Änderungsdatum später ist   Erstellen Sie das Datum für die Datei als auf dem Computer, nicht installieren   die Datei, da Benutzeranpassungen würden gelöscht werden. Wenn die modifizierte   und erstellen Daten die gleichen sind, installieren Sie die Datei. Wenn das Erstellen einer Datums-   später als das Änderungsdatum, wird die Datei als nicht-modifiziert,   Installieren Sie die Datei.

Sie haben einige Optionen:

  • umfasst eine benutzerdefinierte Aktion, die die Datei an Ort und Stelle ändert. Dies könnte ein Skript oder .NET-Code sein .

  • tun, wie Sie sagen - bewegen, um die vorhandene Datei aus dem Weg. Das Installationsprogramm wird nicht auf sie zu stoppen. Aber Sie müssen sicherstellen, dass es in der Reihenfolge geschieht Sie stellen sich vor,. Möglicherweise müssen Sie Orca die Bestellung, um herauszufinden, .

  • umfasst eine benutzerdefinierte Option des Erstellungsdatum setzen „heute“ zu sein. Dies sollte mit einer Skript benutzerdefinierten Aktion wirklich einfach sein, mit dem Scripting.FileSystemObject . Dann wird Windows Installer überschrieben.

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