Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con dll (credo ???)

Ciao a tutti !
Ho un problema: Ho scritto un programma in VB6 sul mio pc con Windows
XP, poi ho creato con il wizard il pacchetto di installazione standard e
l'ho installato su un PC con Windows 98. Ora su quel PC parecchi
programmi (che erano già installati) non funzionano piu' e danno questo
messaggio di errore:
"Una periferica collegata al sistema potrebbe non funzionare" 
seguito da quest'altro messaggio: 
"Il file MSVCRT.DLL è collegato all'esportazione mancante NTDLL.DLL" 
(quest'ultimo esce anche all'accenzione del PC).
Qualcuno mi saprebbe cortesemente dire cosa ho combinato e magari
indicarmi una soluzione ?
Grazie mille !
ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 indicarmi una soluzione ?
Cerca di essere piu' specifico:
Cosa fa il tuo programma? Che riferimenti ha il progetto?
Lokar
P.S. Un appunto sull'oggetto del messaggio nel quale potevi
tranquillamente omettere i 3 punti interrogativi e/o il commento fra
parentesi (Il manifesto e' qui sotto!)
----------
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt

 wrote in message
news:t_MG8.73$
6z1....@nreader1.kpnqwest.net



 USER32.DLL
Al di la' del quoting (e' buona norma rispondere *sotto* al testo
riportato e non sopra, avendo cura di mantenere solo le parti
interessanti per il thread), per il quale ti invito *nuovamente* a dare
una letta al manifesto del newsgroup (in calce sotto alla mia firma)...
sembra che la versione di NTDLL.DLL che installi (e che registri con
l'installazione) sia di versione diversa da quella che era in uso sul
sistema con Windows 98.
Puoi provare ad escluderla dai riferimenti quando fai il pacchetto
d'installazione.
Per ovviare al problema attuale, preleva da un altro pc con Win98 il
file NTDLL.DLL da C:\Windows\System, e copialo (nella stessa cartella)
sulla macchina che da il messaggio d'errore ed esegui.
Essendo un file di sistema, e' possibile che sia in uso. In tal caso
parti in modalita' DOS e sostituisci.
Trattandosi di file di sistema, fai prima una copia di backup di tale
file, in quanto ogni operazione puo' essere estremamente dannosa per il
SO!
Lokar, per tentativi.
P.S. Il manifesto riporta, oltre ad alcune regole di buona creanza,
molte indicazioni e "facilities" (aiuti) per il programmatore. Vale la
pena dargli una letta, se non per rispetto, per proprio interesse!


 sulla macchina che da il messaggio d'errore ed esegui.
Essendo un file di sistema (di Windows NT, per di più) *non* va copiato
assolutamente in altri SO, men che meno W98 ...
--
Faber

 USER32.DLL
Togli senza neanche pensarci i seguenti file:
ADVAPI32.DLL
GDI32.DLL
KERNEL32.DLL
NTDLL.DLL
RPCRT4.DLL
USER32.DLL
Sono del SO, e *non* vanno assolutamente sostituiti a quelli presenti
sulla macchina target.
--
Faber

 sulla macchina target.
Mi sto chiedendo: Ma possibile che siano stati inclusi (automaticamente, non
manualmente) dalla creazione del pacchetto?

 (automaticamente, non manualmente) dalla creazione del pacchetto?
Eh, ha ragione il buon Zanna a portare avanti la sua campagna
anti-wizard!  :)
--
Faber

 indicarmi una soluzione ?
msvcrt.dll non va MAI MAI MAI installato. MAI. Sei fortunato che riesci 
ancora ad avviare Windows
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!

 assolutamente in altri SO, men che meno W98 ...
E' esattamente il motivo per cui per ovviare alla sostituzione *ormai*
avvenuta di tale file a causa della prima installazione (suggerisco di
rileggere attentamente il thread), consigliavo di prendere tale file da
una macchina con SO uguale all'originale (Win98) e "rimetterlo apposto".
Lokar

Grazie ragazzi, il manifesto l'ho letto...


I files sono stati inclusi dalla creazione guidata pacchetti di
installazione... io non sarei in grado di decidere se e quali files
aggiungere o togliere, quindi ho lasciato tutto come stava...
Ma, se il wizard fa di questi casini, non esiste qualcosa in sua
sostituzione ? Altrimenti come faccio a sapere quali files sono
necessari alle mie applicazioni e dove installarli ?
Grazie ancora.


 messaggi per intero)
L'esportazione mancante di NTDLL.DLL. Pensavo che il wizard includesse
tutti i files necessari all'applicazione e non files di sistema
"pericolosi" se installati su altri pc...


 ancora ad avviare Windows
OK, una domanda da niubbo me la permetti, vero ?
Un qualunque programma di installazione (compreso quello tanto
vituperato del VB) valuta le versioni dei file prima di sovrascrivere,
no ? Voglio dire, io creo regolarmente programmi in VB5 sviluppando
su W95, uso perfino (non inorridite, laggiù ! Hal, ti ho visto,
smetti di strapparti i capelli !) l'autocomposizione di VB, e li
installo su tutte le versioni di win, dal 95 al W2k, e non ho MAI
avuto il minimo problema...
OK, non uso database, lo ammetto, e pare che sia quella
roba a creare i principali problemi... ma non credo che la
fortuna da sola possa giustificare tutto, no ?
P.S.: ce ne sono mica pochi :-)
*********
Directory di C:\Programmi\DevStudio\VB\setupkit\kitfil32\sys32
MSVCRT20 DLL       253,952  03-07-97 12:00a MSVCRT20.DLL
MSVCRT40 DLL       326,656  03-07-97 12:00a MSVCRT40.DLL
Directory di C:\WINDOWS\SYSTEM
MSVCRT20 DLL       253,952  08-24-96 11:11a MSVCRT20.DLL
MSVCRT40 DLL        65,024  08-14-96  6:12p msvcrt40.dll
MSVCRT10 DLL       210,944  07-23-93 12:00a Msvcrt10.dll
MSVCRT   DLL       278,581  02-21-01  4:33p MSVCRT.DLL
*********
E un altro paio in system\backup...
Bye, G.

 MSVCRT   DLL       278,581  02-21-01  4:33p MSVCRT.DLL
il primo che sbraita perche' vb ha bisogno del rt lo plonko.
j.rt

 necessari alle mie applicazioni e dove installarli ?
*In genere* mi sembra che la creazione guidata funzionasse bene per
quanto riguarda i componenti necessari (però non l'ho mai usata
granché); un buon inizio è creare l'installazione con i file che vedi
selezionati in Progetto - Riferimenti e Progetto - Componenti, poi
provare l'installazione su una macchina 'pulita' con su W95 o WNT4
(vanno bene sia Norton Ghost che VMWare).
Il vero problema è causato dai componenti che hanno delle dipendenze
aggiuntive (cioè altri file DLL ecc.. di cui necessita il componente per
funzionare). Per esempio non si sa mai esattamente cosa installare per
il runtime di Crystal Report: fortunatamente sulla guida c'è scritto
l'elenco dei file necessari; anche per quanto riguarda ADO c'è lo stesso
problema: fortunatamente (?) M$ ha creato MDAC_TYP.exe, che si occupa di
installare i file giusti per il SO target. Poi ci sono le applicazioni
che usano l'oggetto WebBrowser, e il componente referenziato *non* va
copiato sul PC dove si installa, perché fa parte di Internet Explorer
(che se non viene installato completamente è la volta buona che la
macchina non parte più  :\ )
Cerca nella cartella dove hai installato VB il file "redist.txt": se il
componente che credi vada distribuito non è presente nell'elenco, è
facile che non vada installato  :)
(questo vale, naturalmente, per i componenti forniti con VB; per i
controlli di terze parti dovrebbe essere fornita la documentazione con i
file da distribuire)
hth
--
Faber

 il primo che sbraita perche' vb ha bisogno del rt lo plonko.
beh:
   290.869 msvcrt.dll
 1.355.776 msvbvm50.dll
 1.388.544 MSVBVM60.DLL
converrai che c'è una bella differenza. Senza contare che Visual C++ ha 
anche la runtime linkabile staticamente


 E un altro paio in system\backup...
Hanno nomi diversi. E' un'altra cosa


 Hanno nomi diversi. E' un'altra cosa
Quello che volevo farti notare è che anche MSVCRT.DLL fa parte
anche di VB (dalla versione 5, PLP) e viene inclusa per la
ridistribuzione direttamente dal wizard, come dipendenza per
alcuni controlli.
Bye, G.

 alcuni controlli.
Che rimane una pessima idea. Piů d'una volta ho avuto problemi a causa 
di sostituzione impropria di quella libreria


 di sostituzione impropria di quella libreria
Eccecredo... :-) guarda che non volevo dire di non essere
d'accordo, solo che se uno usa il Wizard di VB non è colpa sua...
(almeno non tutta ;-) ) e IMHO era eccessivo ca##iare chi
lo ha usato. Tutt'al più bisognerebbe, diciamo, spezzare gli
ossicini dell'orecchio al/i responsabile/i, in M$, della non
compatibilità delle varie versioni di una libreria così importante.
Un Paperino che finalmente va a dormire. Good night !