Domanda

Introduzione noiosa:

Nel mio posto di lavoro, abbiamo un prodotto WinForms molto vecchio (sul mercato dal 1994 e ancora in esecuzione su VB3). Ha tre versioni molto diverse, ognuna delle quali va a un client. I client lo trasmettono ai loro utenti, alcuni dei quali sono condivisi. Le versioni possono vivere fianco a fianco.

Cinque anni fa, abbiamo riscritto una di quelle versioni in C # .Net. Due anni dopo, un'altra versione (chiamiamola versione M) fu riscritta, e due anni dopo, era tempo di convertire l'ultima versione rimasta (chiamiamola versione C). Lavoriamo da un anno e andremo in produzione questa settimana.

Durante le conversioni, è stato deciso di non convertire nulla che è stato venduto come modulo esterno; questi sono stati creati in VB6 e hanno utilizzato diversi controlli da BeCubed e FarPoint . Esistono due di questi moduli nella versione M e tre moduli nella versione C. Ogni modulo ha il proprio programma di installazione MSI, che viene eseguito silenziosamente dal programma di installazione del prodotto principale.

Il bug

Durante la produzione, abbiamo riscontrato un bug: quando la versione C è installata su un nuovo computer, quindi è installata la versione M, viene visualizzato un messaggio non appena viene aperto un modulo esterno nella versione C:

Errore BeCubed

Dopo aver fatto clic su OK, il modulo funziona. Inoltre, ciò non accade quando sono installati in qualsiasi altro ordine ed entrambi i moduli nella versione M funzionano perfettamente.

Altri dettagli

  • Tutti i file OCX e DLL sono stati confrontati attraverso tutte le impostazioni del modulo; i file sono identici.
  • Tutti i moduli funzionano quando è installata una sola versione M o C o quando M è installata per prima.
  • Abbiamo licenze per tutto il software che utilizziamo, incluso BeCubed.

Qualcuno sa cosa potrebbe causare un tale errore, quale potrebbe essere una possibile soluzione?

È stato utile?

Soluzione 2

Apparentemente, uno dei moduli ha installato gli OCX nella directory di sistema ( C: \ Windows \ System predefinito) e gli altri li hanno installati in una directory dei file di programma ( C: \ Program Files \ CompanyName \ Shared Files ). Ciò probabilmente causa un conflitto nella doppia registrazione dell'OCX o qualcosa del genere. Non ho idea di cosa ci fosse di sbagliato lì, ma quando abbiamo cambiato un modulo per installarlo nella cartella File condivisi come tutti gli altri, il problema è stato risolto. Sto scrivendo questo qui, quindi se qualcuno ha un problema simile, potrebbe verificare che tutti i file siano installati nella stessa posizione.

Altri suggerimenti

Bene, poiché nulla è cambiato nel file, forse qualcosa è cambiato nel registro.

Ma questo sembra un problema per cui dovresti contattare BeCubed, chiedere loro come attivare la registrazione estesa o chiedere loro supporto.

Al momento non ci sono abbastanza informazioni per sapere cosa succede davvero ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top