Problema con el paquete tis-openmodelica

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Respuesta
Olivier Schmitt
Mensajes: 41
Inscripciones: 22 Oct 2024 - 13:25 horas.

9 de diciembre de 2025 - 19:22

Hola,

el instalador de OpenModelica se publica para cada subversión, por ejemplo:
C:\Program Files\OpenModelica1.25.0-64bit
C:\Program Files\OpenModelica1.25.1-64bit

C:\Program Files\OpenModelica1.25.6-64bit
C:\Program Files\OpenModelica1.25.7-64bit

Sin embargo, solo se registra una entrada en el registro para la clave de desinstalación.

Sugiero modificar su paquete para ejecutar la función uninstall() antes de instalar la nueva versión.

También sería posible verificar la versión principal y desinstalar solo las carpetas correspondientes a la versión que se va a actualizar; en este caso, todas las carpetas del tipo:
C:\Program Files\OpenModelica1.25*

Gracias de antemano.
italbot
Mensajes: 46
Inscripciones: 26 sept 2023 - 15:50 horas.

10 de diciembre de 2025 - 10:35

Hola,

si entiendo correctamente, el problema es que el software no diferencia entre las versiones instaladas a nivel del registro, sino que instala carpetas diferentes para cada versión, y estas carpetas permanecen después de cada actualización.

Al revisar el código, parece que la desinstalación no se realiza a través de la clave del registro, sino desde la carpeta de cada versión. Realizaré algunas pruebas para verificarlo y me pondré en contacto con usted.

Atentamente,

Ingrid
TI tranquila
Olivier Schmitt
Mensajes: 41
Inscripciones: 22 Oct 2024 - 13:25 horas.

10 de diciembre de 2025 - 13:33

Si entiendo correctamente, el problema es que el software no diferencia entre las versiones instaladas a nivel del registro, sino que instala carpetas diferentes para cada versión, y estas carpetas permanecen después de cada actualización?

=> Así es.
Terminé con unas diez subversiones instaladas, que suman aproximadamente 80 GB. El programa cambia las carpetas con cada subversión, pero solo crea una entrada para la desinstalación…
No creo que la configuración permita especificar la carpeta de instalación.

Vea la captura de pantalla.

De hecho, creo que la solución más sencilla es desinstalar todas las versiones que no sean principales.
Potencialmente podemos basarlo en la sección del archivo de control, por ejemplo:

versión: 1.25.7.0-8.
Luego recuperamos la versión principal 1.25 de 1.25.7.0-8, y luego listamos las carpetas correspondientes a:
C:\Program Files\OpenModelica1.25*\.

Luego, al igual que con la función `uninstall()`, podemos ejecutar `run(f'"{makepath(folder_path, "Uninstall.exe")}" /S')`.

Acabo de probar `OpenModelica-v1.25.7-64bit.exe /?`.
No muestra ninguna opción de instalación, pero podemos ver claramente en la ventana que se crea una carpeta diferente para cada versión:
`C:\Program Files\OpenModelica1.25.7-64bit`.

Ninguna documentación parece mencionar una opción para forzar una carpeta común para cada instalación…
Archivos adjuntos
openmodelica.png
openmodelica.png (20,22 KB) Visto 11474 veces
italbot
Mensajes: 46
Inscripciones: 26 sept 2023 - 15:50 horas.

10 de diciembre de 2025 - 15:40

De acuerdo, gracias por todos los detalles. Ya veo el problema. Modificaremos el paquete en la tienda añadiendo el script de desinstalación antes de la instalación.

Sugieres eliminar solo las carpetas de las versiones principales, pero ¿no deberíamos eliminar todas las carpetas de OpenModelica? Eso es lo que estamos haciendo actualmente en el script de desinstalación. No estoy segura de si hay alguna ventaja en conservar las carpetas de versiones principales anteriores.

Esperaré tu respuesta antes de realizar cualquier cambio internamente. En cualquier caso, gracias por informarnos de este problema.

Saludos cordiales,

Ingrid
TI tranquila
Olivier Schmitt
Mensajes: 41
Inscripciones: 22 Oct 2024 - 13:25 horas.

10 de diciembre de 2025 - 18:33

Hola,

gracias por sus esfuerzos y trabajo.

Respecto a las versiones, al igual que con otros programas, puede ser beneficioso mantener las versiones principales para garantizar la compatibilidad con versiones anteriores.
No puedo asegurar si existe una ventaja real en este caso específico, pero los cambios de versión parecen relativamente poco frecuentes.
Es posible que, como en otras situaciones, se pueda automatizar la desinstalación de las versiones principales mediante un script integrado en un paquete de limpieza de terceros, dado que se trata de una operación menos común.

El objetivo es evitar la acumulación de múltiples instalaciones idénticas cuando se trata simplemente de correcciones de errores.

Quizás, como con otros paquetes, podría comentar una parte del código para permitir a los usuarios elegir entre:
- una actualización completa, que implica la desinstalación de todas las versiones existentes;
- o una actualización filtrada, basada en el número de versión principal definido en el archivo de control.

Si esto requiere demasiado trabajo, supongo que bastará con llamar a su función de desinstalación previamente.
Sin embargo, algunos usuarios podrían considerar un cambio de versión principal una molestia y reportarlo como un error del paquete.

Saludos,
italbot
Mensajes: 46
Inscripciones: 26 sept 2023 - 15:50 horas.

15 de diciembre de 2025 - 11:09

Hola,

creo que es posible desinstalar solo las versiones entre la 1.25.0 y la 1.25.7, por ejemplo. Sin embargo, esto significa que las versiones principales anteriores no se desinstalan, por lo que podrían acumularse. De todas formas, realizaré algunas pruebas entre las versiones 1.24 y 1.25.

En cualquier caso, planeo añadir este fragmento de código como comentario si funciona.

Saludos cordiales,

Ingrid
TI tranquila
Olivier Schmitt
Mensajes: 41
Inscripciones: 22 Oct 2024 - 13:25 horas.

15 de diciembre de 2025 - 21:42

Gracias por tu respuesta.
italbot
Mensajes: 46
Inscripciones: 26 sept 2023 - 15:50 horas.

19 de diciembre de 2025 - 9:30 AM

Hola,

he realizado el cambio en el paquete; estará disponible en 5 días. Mientras tanto, puedes encontrarlo en preproducción en la tienda.

Atentamente,

Ingrid
TI tranquila
Respuesta