Newsgroup: it.comp.lang.visual-basic
Titolo: distribuzione software

un tipo scrive un software in vb decide di distribuirlo:
-quale certezza ha che il software sa lui compilato possa funzionare in
ogni macchina
-quale programma utilizzare per fare i pacchetti d'istallazione?
-il programma per la creazione di pacchetti funziona sempre
edgard

 wrote in message 01bfadfc$4d32c540$c286d8d4@cxv...

Ti rispondo per la mia modesta esperienza, ovviamente.
(1) Nessuna certezza: provi ad installarlo almeno sulle versioni
fondamentali (Win95, Win98 e WinNT4, possibilmente su varie versioni e
service pack di questi e se vuoi esagerare anche su Win2000 - sulla release
finale, perché ho notato grosse differenze con VB fra le varie beta e la
release) e vedi se il tutto funziona. In genere funziona, a meno che tu non
abbia usato funzioni esterne a VB (OCX, chiamate all'API di Windows etc.).
(2) Se lo scopri, dimmelo. Il più accreditato (mi si perdoni la pubblicità)
è InstallShield, che però è veramente complesso (almeno la versione per
WIndows Installer). In genere si usa il setup incluso in VB che
funzionicchia. Personalmente uso quest'ultimo per la distribiuzione
spicciola ma per le cose in grande stile uso un pacchetto realizzato
internamente.
(3) Immagino che sia una domanda. Per quanto mi riguarda, la risposta è:
ovviamente no. Uno dei grossi problemi dei sistemi articolati come Windows è
che non ci sono due pc con la stessa roba montata su, quindi i risultati
sono: tranne che in casi specifici (
p.es
. la prima release di Win98)
funzionicchia quasi sempre con qualsiasi installatore. Ci sono però casi in
cui non c'è verso di installare qualche componente. In alcuni casi ho
rilevato personalmente che Windows non si riavvia correttamente dopo un
setup su pc con versioni custom di Windows (la sostituzione di alcune dll di
sistema non è sempre gradita). Ci sono poi infinite cose meno gravi che
possono capitare - ultimamente ho installato alcuni pacchetti famosi (o che
usano installatori famosi) che mi hanno combinato i peggio casini sul pc -
sostituito componenti con versioni anteriori, sballato il web server,
installato correttamente versioni più recenti di componenti ma notoriamente
bacate, etc. Ci sono svariate ragioni per questi avvenimenti - a me non
capita quasi mai di constatarle di persona sul mio software, ma il fatto è
che capita ai clienti, quindi è inutile fare illazioni su cosa diavolo hanno
fatto o cos'hanno installato sul pc. Il fatto è che si può metter su un
setup quasi perfetto a forza di prove, ma come ogni altro software non può
essere perfetto. Personalmente mi accontento che funzioni nella maggior
parte dei casi e per quelli residui sopperisce l'assistenza tecnica (hanno
pure loro da lavorare!). Dopo qualche anno si capisce al volo cosa c'è che
non va...
----------------------------------------------------------------------
Stefano Minardi
Zetesis: 
zet...@mclink.it
----------------------------------------------------------------------

 internamente.
Mah. Io InstallShield lo trovo il programma meno user friendly del mondo.
Suddivide le cose in 10 finestre diverse che non sono visualizzabili
contemporaneamente, e non permette di fare ricerche in tutte le finestre
contemporaneamente. Non ha una procedura affidabile di creazione
dell'installazione partendo da un progetto VB. Ha una logica tutta sua: non
è MDI, non è Multifinestra, insomma non è comodo.
Molto meglio a mio parere è Wise, che invece è strutturato tutto in una sola
finestra ed è leggibile come un singolo script. Addirittura è possibile
esportare tutto su file di testo, editarlo con un editor qualunque e poi
reimportarlo.
Inoltre ti crea delle installazioni standard per VB che sono per lo meno
passabili. E costa pure meno di InstallShield (anche se non è proprio a buon
mercato neppure lui).
Invece il programmino integrato in VB fa spesso casino. Ad esempio se sono
in uso le DLL che gli servono per partire (quelle che scompatta all'inizio)
diventa praticamente inutilizzabile.
Inoltre è pieno di bachi. A parte l'errata nazionalizzazione di True e
False, prova a inserire mscal.ocx in un progetto, e vedrai che nel .lst ti
scriverà una riga di questo tipo:
File9=@MSCAL.OCX,$(WinSysPath),$(DLLSelfRegisterEx),$(Shared),6/26/98
12:00:00 AM,89600,8.0.0.5007
Quando si tratta di interpretarla invece, l'installatore si accorge che non
sa cosa farci del DLLSelfRegisterEx. Bisogna rinominarlo in DLLSelfRegister
e ritorna a funzionare tutto. Il bello è se ricrei il progetto, ti
rimodifica lui il .lst e ti rimette l'errore.
Inoltre è lentissimo e se rileva il minimo errore cancella ogni traccia di
quello che ha fatto, rendendo praticamente impossibile sapere cosa non ha
funzionato.
Non ho ancora provato il Visual Installer. L'ho fatto partire una volta e
non l'ho trovato intuitivo, ma se qualcuno volesse farne una recensione
sarebbe una bella cosa.
Ciao
*Roby*

 sarebbe una bella cosa.
Mah, io l'ho visto in una release molto iniziale e mi è parso piuttosto
scarsino - buono solo se non metti troppa roba nel setup. Sinceramente per i
setup non mi fido di roba scritta da altri - potrei usare un pacchetto di
Microsoft ma è incredibile che non ne abbiano uno dopo tanti anni (loro
usano per lo più Installshield).
----------------------------------------------------------------
Stefano Minardi
zet...@mclink.it
----------------------------------------------------------------

 setup non mi fido di roba scritta da altri
Ti sei scritto tu un programma di setup ?
Il problema č, in che linguaggio? Qualunque linguaggi scegli, tranne forse,
hai da installare qualcosa all'inizio. Se anche usi il C, ti servono le
stesse MFC che hai usato tu.
Sinceramente non saprei da che parte cominciare.
Ciao
*Roby*

 Il problema è, in che linguaggio? Qualunque linguaggi scegli, tranne forse,


 -il programma per la creazione di pacchetti funziona sempre
TEST!
Non e che le cosa funzionano da sole Bisogna provarle non ci si puo
lamentare e scaricare sempre la colpa su VB,
come fanno la maggior parte delle persone!
Va Bene la minestra pronta Ma non esageriamo!
Io mi trovo benissimo ho avuto i miei problemi ma sempre risolvibili!
Ciao

 TEST!
Così tu hai un HD a fisarmonica su cui hai installato la versione
plain-vanilla di: Win95a, Win95b, Win98, Win98se, WinNT3.52, WinNT4, Windows
2000 professional e Windows 2000 Server per  fare i test?
E poi ovviamente per ciascuna hai una serie di differenti installazioni
tipo:
Con Office 2000, 98, 95, in ognuno dei casi con installata la barra di
office oppure no.
Con installati la versione precedente degli OCX che usi. Senza installato
Explorer, con installato Explorer, con un browser diverso da explorer (da
Netscape a Opera).
Con tutti gli antivirus, con alcuni altri programmi shareware scritti in VB
di una versione differente dalla tua, con tutti i principali pacchetti in
circolazione e quelli venduti in edicola negli ultimi 6 mesi (almeno).
Con Le DirectX e senza, Con tutte le differenti schede video, e per ognuna
con tutte le versioni dei driver usciti. Stesso discorso per le schede
audio, per quelle di rete, per le motherboard.
Potrei andare avanti per delle ore. Testare tutte le possibili
configurazioni è praticamente impossibile, tanto è vero che esistono delle
società che campano solo facendo i test dei pacchettizzati e che si fanno
pagare fior di quattrini, pur non garantendo comunque il risultato finale.
Ciao
*Roby*

 stesse MFC che hai usato tu.
Ovviamente in puro C più standard non si può (per quello che deve fare...).
In realtà è un modulo che non ha dipendenze e che installa e registra quanto
serve. Se poi deve fare cose più complesse - tipo configurare un pacchetto
usando DLL di VB etc. - lo fa dopo il setup delle componenti - oppure piazza
uno start nel registry e chiede il riavvio del pc (a scanso di equivoci...).
Secondo me la vera questione dei setup non è come installare i pacchetti -
fino a Win95/98 e NT4 non mi pare questo enorme problema - quanto piuttosto
gestire i progetti e le dipendenze. Per questo io ho una tonnellata di
attrezzi, eppure ogni tanto (quando vado di fretta, lo ammetto) mi scappa
qualche ActiveX da ricompilare (gli exe sono fatti così, che ci vuoi fare?).


 Ahi, ahi, ahi.
Cosa significa esattamente Ahi, Ahi Ahi? 8-)
Ciao
*Roby*

 wrote in message
8ece7h$il$2...@nmaster.tin.it...

Sono le mie arterie cerebrali che scricchiolano (la vecchiaia è una brutta
bestia). Ero sicuro che dipendesse da quello. Mi sembra impossibile che il
PDWizard faccia una cosa del genere.


 PDWizard faccia una cosa del genere.
Se ti viene in mente qualche cosa, mandami pure una mail.
Ciao
*Roby*