Ich habe ein .NET-Programm, für das ich ein Wix-Installer geschrieben habe. Ich möchte in der Lage sein, von einer Pre-Wix-Version zu aktualisieren. Um dies zu tun, möchte ich aus der App.config-Datei des installierten Programms lesen. Dadurch wird verhindert, dass der Benutzer alle diese Werte manuell erneut eingeben muss. Gibt es das überhaupt, um das zu tun? Vielen Dank!Wie lese ich app.config Werte und Eigenschaften in Wix setzen
5
A
Antwort
1
Weder MSI noch WiX hat derzeit integrierte Unterstützung zum Lesen von XML-Dateien, nur Schreiben. . Sie werden eine benutzerdefinierte Aktion schreiben müssen, um in die Werte zu lesen (Extend AppsSearch)
Zusätzlich dazu, ich sehr empfehlen Sie das Muster hier beschriebenen folgen und passen sie für XML statt Registrierung:
http://robmensching.com/blog/posts/2010/5/2/The-WiX-toolsets-Remember-Property-pattern
1
eine Lösung ist die "Community MSI Extensions"
die benutzerdefinierte Aktion, du bist zu verwenden, nachdem wahrscheinlich ist Xml_SelectNodeValue (es gibt ein Beispiel dafür, wie es zu benutzen).
Verwandte Themen
- 1. Wie lese ich die in local.properties definierten Eigenschaften in build.gradle
- 2. Wie verschlüssele ich app.config Dateiabschnitte während der Installation mit WiX?
- 3. Wie lese/schreibe ich App.config-Einstellungen mit PowerShell?
- 4. ID erhalten und in Werte setzen
- 5. Werte aus app.config lesen
- 6. Wie lese ich die aktiven ISAPI-Filter Eigenschaften von IIS
- 7. Wie lese/schreibe ich std :: string Werte von/in Binärdateien
- 8. Wie lese ich Werte in eine Struktur mit Zeigern?
- 9. Wie lese ich den Wert eines Attributs, das in app.config definiert ist?
- 10. Lese Werte von Json
- 11. WCF: Wie kann ich diese App.config-Werte programmatisch neu erstellen?
- 12. Sind in C# Lese- und Schreibzugriff auf Eigenschaften atomar?
- 13. C# -Eigenschaften und Verkettungsmethoden fließend setzen
- 14. Zugriff auf weitere Projekte app.config Eigenschaften?
- 15. Wie lese ich die Felder in einer CSV-Datei und laden Sie ihre Werte in Variablen?
- 16. Django Model Form mit Nur-Lese-Eigenschaften
- 17. Wie aktualisiere/aktualisiere ich app.config?
- 18. Wie lese ich Umgebungsvariablen in Postman-Tests?
- 19. Wie lese und analysiere ich eine .dat-Datei in C?
- 20. Pushing Nur-Lese-GUI Eigenschaften zurück in Ansichtsmodell
- 21. Visual Basic Wie lese ich eine CSV-Datei und zeige die Werte in einem Datagrid an?
- 22. Eigenschaftswert aus anderen Eigenschaften setzen
- 23. Wie erstelle, schreibe und lese ich Sitzungsdaten in CakePHP?
- 24. Erhalte Eigenschaften und Werte von unbekanntem Objekt
- 25. Perl: Lese-Timeout im Client-Socket setzen
- 26. Wie öffne ich app.config in Windows Forms?
- 27. Merge Werte und Eigenschaften von einem Objekt in ein anderes
- 28. Wie lese ich Eigenschaften in einem Array von Objekten in Lenker?
- 29. maxReceivedMessageSize und maxBufferSize in app.config
- 30. Neuzuordnung Eigenschaften Namen und Werte mit lodash
Ich habe keine Zeit, um eine benutzerdefinierte Aktion zu schreiben, also werde ich nur die Registrierung verwenden. Das Problem wird auftreten, wenn die Registrierung und die Konfigurationsdatei nicht übereinstimmen (z. B. wenn ein Benutzer es manuell durcheinander bringt), aber ich werde meinen Kunden schulen, nur die Reparaturfunktion zu verwenden. –
Achten Sie darauf, Bissigkeit in Betracht zu ziehen http://blog.deployentengineering.com/2010/07/net-bitness-pain.html –
Danke für die Köpfe hoch. Glücklicherweise glaube ich nicht, dass dies auf mich zutrifft. Der Grund dafür ist, dass die Anwendung immer noch die app.config für ihre Konfiguration verwendet und nur die Registrierung verwendet, um sich an die Eigenschaften zu erinnern, die bei der Installation gewählt wurden. Wie ich bereits erwähnt habe, kann dies Probleme verursachen, wenn jemand mit der Konfiguration verstimmt, ohne die Reparaturfunktion des Installers zu verwenden. Da nur ein oder zwei Benutzer das Installationsprogramm verwenden, glaube ich nicht, dass dies ein Problem sein wird. –