2011-01-04 6 views
5

i mehrere Umgebungen haben, bauen, testen, prod usw.WIX mehrere Kopien derselben Datei in msi aber nur wird man installiert werden

Ich mag würde einen einzigen Installer in Wix zu schaffen, die mehrere Maschinen halten kann .config-Dateien. Basierend auf dem Feature-Wert, der über die Befehlszeile übergeben wird, wird nur eine Datei installiert.

Conceptualy klingt es einfach, aber ich erhalte einen ICE30 Fehler, der besagt, dass

„ICE30: Die Zieldatei 'btfrgsa_ | [Dateiname]' installiert ist, in '[TARGETDIR] \ NETFRAMEWORK40FULLINSTALLROOTDIR64 \ config \' von zwei verschiedenen Komponenten auf einem LFN-System: 'MachineConfigs.WS' und 'MachineConfigs.APP'. Dies bricht die Komponentenreferenzzählung. ".

Was wäre der beste Weg, dies zu tun?

dank

Semaj

+0

Haben Sie versucht, Condition-Anweisungen zu betrachten. Das ist vielleicht noch einfacher als die von Ihnen gewählte Antwort. – Adkins

Antwort

6

Ein paar Ansätze:

  1. Erstellen Sie mehrere Funktionen und Komponenten mit Dateien von verschiedenen Namen (1.config, 2.config) und dann die Copyfile verwenden Element, das dazu führt, dass x.config in den echten Dateinamen kopiert wird.) Dies führt dazu, dass x.config und real.config bereitgestellt werden, aber es ist harmlos und die Deinstallation wird sauber funktionieren.

  2. Identifizieren Sie die Unterschiede zwischen den x.configs und verwenden Sie XML-Änderungen, um sie bei der Installation mithilfe von Xpath-Anweisungen anzuwenden.

+0

ich denke, ich kann keine verwenden. 1. Danke, Semaj – semaj

+1

+1 Für die Verwendung von XMLconfig: es könnte mehr Arbeit im Voraus, aber es ist auf lange Sicht viel sauberer. –

+0

Ich weiß, dass dies für Wix getaggt ist, gibt es jedoch eine ähnliche Lösung mit der Nummer 1 für InstallShield? Oder genauso gut, eine Erklärung, welche MSI-Tabellen mit dieser Lösung (MoveFile?) Verwendet werden? – JohnZaj

Verwandte Themen