Erzwingen eines Upgrades einer Datei, die während der Erstinstallation geändert wurde

Ich arbeite an der Upgrade-Funktion für mein WiX-basiertes Installationsprogramm.

Als Teil der Installation installieren wir eine web.config-Datei und verwenden dann eine benutzerdefinierte Aktion, um die Verbindungszeichenfolgen in der Datei zu aktualisieren.

Dies verursacht jedoch ein Problem, wenn wir unser Upgrade ausführen. Wir möchten, dass die RemoveExistingProducts nach InstallFinalize geplant werden, da dies am effizientesten ist, wenn Dateien, die nicht geändert wurden, nicht entfernt oder erneut installiert werden. Dadurch bleibt die ursprüngliche Datei web.config jedoch an der richtigen Stelle, wenn Windows Installer versucht, zu bestimmen, ob sie aktualisiert werden soll oder nicht. Da das Datum der letzten Änderung jünger als das Erstellungsdatum ist, wird es von Windows Installer nicht aktualisiert (sieheVersionsregeln dass Windows Installer verwendet). Aber wir müssen es aktualisieren.

Eine naheliegende Lösung besteht darin, die Zeitplanung für RemoveExistingProducts nach InstallValidate zu ändern. Dies ist jedoch ineffizient, und ich denke nicht, dass es uns die Möglichkeit geben würde, Einstellungen aus vorhandenen Dateien zu migrieren, falls dies erforderlich sein sollte.

Irgendwelche anderen Ideen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage