Pregunta

Yo tengo un InstallShield InstallScript MSI proyecto que contiene el Conexión FLEXnet sin módulo de combinación de Software Manager.La versión de este producto es 6.0.32.Creé un segundo instalador para la versión 6.1 que también contiene el Conexión FLEXnet sin módulo de combinación de Software Manager.Cuando realizo una actualización importante en un sistema que contiene la versión 6.0.32, aparece un mensaje en el registro MSI que indica:

Disallowing installation of component: {FF970098-B748-427B-B946-AA8E1A1F82AD} since the same component with higher versioned keyfile exists

El componente hace referencia al isusweb.dll archivo ubicado en el Carpeta FLEXnet Connect.

Parece que esta verificación ocurre antes de la 6.0.32 producto que se retira.La instalación continúa para eliminar el 6.0.32 producto que elimina isusweb.dll.Durante el 6.1 Instala el isusweb.dll no se devuelve debido a la verificación de la versión del componente.

La actualización se realizó correctamente.Cuando intento ejecutar la aplicación desde un acceso directo, verifica los componentes.desde el isusweb.dll Falta el MSI. Intenta repararlo, luego no puede encontrar el MSI y no permite que se abra la aplicación.

¿Hay alguna forma de hacer que el módulo de combinación sobrescriba siempre?

Otros consejos

Los módulos de combinación no se instalan, se fusionan.Producto MSI se instala.Uno de los problemas con el uso de módulos de combinación de terceros es si tienen un error, no hay mucho que pueda hacer al respecto.

Consideraría crear un MSI únicamente con el propósito de encapsular este MSM.Luego, crearía un instalador de Setup Prereq o Suite para instalar este MSI aparte de su producto MSI.

Ya tienes dos respuestas realmente buenas, pero para probar y sintetizar:

Realmente suena como un módulo de combinación de buggy. Phil sugiere arreglar la colocación de su representante en la instalación de InstalexEstequese para trabajar alrededor del error. Chris sugiere poner el módulo de fusión defectuoso en su propia configuración. Estoy de acuerdo con ambos y creo que debe seguir ambas sugerencias:

  • Retire el módulo de combinación de su configuración principal.
  • Cree una nueva configuración y agregue el módulo de combinación defectuoso y asegúrese de la secuenciación de la representación correcta.

Para el repuesto para trabajar su componente, la referencia debe ser 100% correcta, ahora y en el futuro. Para eliminar esto, ya que un problema, creando una configuración separada le permite contener el módulo de buggy dentro de su propio MSI. Esto le ayudará a evitar reactivar el error por error o por diseño cambiado en el futuro, y este último nunca es poco probable.

Como dice Chris: se entrega un módulo de combinación, se fusiona. Un módulo de combinación actualizado puede estar disponible para todo lo que sé, pero incluso entonces es prudente contenerlo. Especialmente cuando está tratando con el GAC (Caché de la Asamblea Global).

Otra solución que solicité cuando se encontró con este error fue configurar para actualizar la columna "Versión" de la tabla de archivos, en el módulo de combinación, usando Orca.Configure que al máximo 65535.65535.65535.65535, esto forzará la actualización para instalar siempre la DLL desde el módulo MERGE.

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