Tengo un programa .NET para el que he escrito un instalador Wix. Quiero poder actualizar desde una versión anterior a Wix. Para hacer esto, me gustaría leer el archivo app.config del programa instalado. Esto ahorrará al usuario tener que volver a escribir manualmente en todos estos valores. ¿Hay alguna forma de hacer esto? ¡Gracias!¿Cómo leo los valores de app.config y establezco las propiedades en Wix
5
A
Respuesta
1
Ni MSI ni WiX tienen actualmente soporte integrado para leer archivos xml, solo escritura. . Vas a tener que escribir una acción personalizada para leer los valores de (Extender AppsSearch)
Además de esto, le recomiendo que siga el patrón descrito aquí y adaptarlo para XML en lugar de registro:
http://robmensching.com/blog/posts/2010/5/2/The-WiX-toolsets-Remember-Property-pattern
1
una solución es utilizar el "Community MSI Extensions"
acción la costumbre que está buscando es probablemente Xml_SelectNodeValue (hay un ejemplo de cómo usarlo).
Cuestiones relacionadas
- 1. Añadir a los valores App.config y recuperarlos
- 2. Muelle - Sustitución de los valores de las propiedades de los frijoles con los nuevos valores del Archivo de propiedades
- 3. app.config no están ahorrando los valores
- 4. Maven: Resumen de los valores de las propiedades de Maven
- 5. Cómo leo los argumentos de JVM en Spring applicationContext.xml
- 6. Obtener todas las propiedades con los valores de reflexión
- 7. Cambie el nombre de los nombres de las propiedades y cambie los valores de varios objetos
- 8. ¿Cómo en los valores de salida Ant de propiedades?
- 9. ¿Vinculación de los valores secundarios de WIX FileVersion?
- 10. Escribir valores en el archivo app.config
- 11. ¿Cómo encripto las secciones del archivo app.config durante la instalación con WiX?
- 12. array_walk_recursive - modificar las claves y los valores
- 13. Cómo nombrar mejor los campos y las propiedades
- 14. Wix Interacciones con condiciones, propiedades y acciones personalizadas
- 15. Cómo convertir una namedtuple en una lista de valores y preservar el orden de las propiedades?
- 16. escape y en App.config
- 17. Cómo imprimir recursivamente los valores de las propiedades de un objeto usando la reflexión
- 18. Obtener propiedades y valores del objeto desconocido
- 19. ¿Cómo agrego una columna en Ongrade y establezco las filas existentes a un valor particular?
- 20. ¿Cómo se muestran automáticamente todas las propiedades de una clase y sus valores en una cadena?
- 21. LINQ y JSON.NET cuando los nombres de las propiedades varían
- 22. app.config múltiples valores de clave única
- 23. clase de reflexión PHP. ¿Cómo obtener los valores de las propiedades?
- 24. ¿Cómo creo, escribo y leo datos de sesión en CakePHP?
- 25. ¿Cómo se usan las condiciones en las funciones de WiX?
- 26. ¿Cómo transfiero las propiedades de msiexec a una acción personalizada de WiX C#?
- 27. ¿Cómo enumero todas las propiedades en un objeto y obtengo sus valores?
- 28. ¿Cómo leo los datos de cx_Oracle.LOB en Python?
- 29. colección de valores de las propiedades de const struct
- 30. En Python, ¿cómo leo los datos exif de una imagen?
No tengo tiempo para escribir una acción personalizada, así que solo usaré el registro. El problema surgirá cuando el registro y el archivo de configuración estén en desacuerdo (por ejemplo, si un usuario se enreda con él manualmente), pero entrenaré a mi cliente para que solo use la funcionalidad de reparación. –
Asegúrese de tener en cuenta el bitness http://blog.deploymentengineering.com/2010/07/net-bitness-pain.html –
Gracias por el aviso. Afortunadamente, no creo que esto se aplique a mí. La razón es que la aplicación todavía usa app.config para su configuración, y solo utiliza el registro para "recordar" las propiedades elegidas en el momento de la instalación. Como mencioné anteriormente, esto puede causar problemas si alguien se mete con la configuración sin usar la funcionalidad de reparación del instalador. Debido a que solo va a haber uno o dos usuarios usando el instalador, no creo que esto sea un problema. –