Pregunta

Tengo un archivo .ini con configuración.Necesito comprobar si existe en una nueva instalación para evitar la creación de nuevo.Además, si el nuevo .ini tiene nuevos campos agregan al archivo existente.

¿Fue útil?

Solución

No instale un archivo INI como un archivo, pero convertir las entradas en entradas de la tabla de inácidas . Esto permite que todos los cambios de archivos INI se traten como "unidades de cambio atómico" que permiten la fusión y el retroceso adecuados a través del mecanismo MSI incorporado. Evita toda la complejidad de acción personalizada.

A medida que Chris señala en su principal comentario de actualización: haga las cosas de la manera correcta en WIX / MSI y evite muchos problemas que comienzan a aparecer cuando los requisitos cambian o las actualizaciones se compliquen. Las actualizaciones de Inifile implementadas de forma correcta son robustas y simples para tratar.

En wix usa el elemento inifile para lograr esto. Todas las capacidades de combinación, soporte de retroceso y manipulación avanzada de archivos INI se acercan gratuitamente. Todo lo que necesita hacer es definir lo que se debe agregar o modificar en el archivo INI durante su instalación. También se creará si no está allí en primer lugar.

Uso del elemento de inácida puede parecer más difícil de lo que es. aquí hay una muestra . También puede echar un vistazo a la wix wix tutorial aquí .

Todos los expertos en MSI Siguen repitiendo este consejo: nunca use una acción personalizada para cambiar un sistema si hay construcciones MSI incorporadas equivalentes.

Otros consejos

Configurar NeverOverWrite="Sí" en el componente del archivo .ini y luego manejar la actualización a través de una acción personalizada.

Editar : En general, es mucho mejor usar la tabla de inqueja como se explica en mi respuesta, ya que obtiene rollback y fusion Capacidades . Sin embargo, algunas personas prefieren el archivo INI instalado como un archivo en Permitir una fácil modificación del archivo fuera del archivo MSI . Aunque no se prefiere, esto permite a las personas "hotfix" el archivo INI directamente en la ubicación de los medios de instalación. Los equipos pueden usar esto para que el instalador recoge la última INI del desarrollo. Hay problemas técnicos con esto que se pueden manejar a través de una acción personalizada (los problemas de reemplazo de forma más significativa en la instalación). También es posible que un archivo INI pueda contar con elementos no estándar y formateo que no se ajuste a la tabla de inácidos (rara, pero posible, las personas con sentido, usan una extensión de archivo diferente que INI) . Como ya se explicó, aconsejaría firmemente contra la actualización de archivos INI a través de su propia acción personalizada, a menos que esté haciendo algo muy especial, que en realidad se necesita. Es complicado para implementar y ponerse a la derecha.

Sugeriría tener 2 archivos INI.Uno que el instalador posee y uno que posee la aplicación / usuario.El instalador siempre puede sobrescribir su archivo INI y nunca preocuparse por pisar los datos de usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top