Ho un programma scritto in QT che funziona bene. Tuttavia ha una dipendenza indiretta su dnssd.dll dal momento che una dll caricata dal programma usa bonjour. Se Bonjour non è installato sulla macchina che esegue il programma diràMigliorare la dll mancante messaggio di errore
Il programma non può iniziare perché dnssd.dll manca dal computer . Prova a reinstallare il programma per risolvere il problema.
Non sto caricando questa dll tramite LoadLibrary
o altro. Ho collegato il binario allo stub in modo che venga caricato automaticamente prima dello int main
.
Ovviamente la reinstallazione del programma non risolve il problema. Per me è chiaro che ho bisogno di installare bonjour, ma per la maggior parte degli utenti questo è estremamente criptico.
Preferisco che questo messaggio di errore sia qualcosa di più informativo come "Bonjour deve essere installato affinché questa applicazione funzioni correttamente, vai a [inserire-url-qui] per scaricarlo."
C'è un modo per rilevare quando una DLL non riesce a caricare questo loke e dare un messaggio di errore migliore?
Perché non si comprime Bonjour nel programma di installazione (non può dire come, senza sapere che tipo di installazione che si sta utilizzando), o qualcosa di simile? –
Bella idea. Le persone tendono a disinstallarlo poiché non sanno cosa sia. Inoltre è una seccatura e creerà un installer più complicato e fragile. Deve tenere conto che bonjour è già installato, ecc. – vidstige
Quindi preferisci un'applicazione più complicata e fragile? I buoni framework di installazione forniscono solide soluzioni per la maggior parte di questi problemi. Questo non è un problema irrisolto. –