Pravljenju instalacije softverskog paketa treba pristupiti ozbiljno, gotovo isto onoliko ozbiljno koliko se pristupa samoj izradi aplikacije. Prema tome, ne bih mogao da se složim sa nekim stavovima iznetim ovde tipa "ne treba ti ovo, to sigurno svi imaju". Nikada ne možeš biti siguran da neko ima baš tu komponentu koju si ti koristio, pogotovo što postoji više verzija jedne iste komponente koje se ne ponašaju isto u radu. Ovo važi i za VB Runtime fajlove, jer nisu isti oni koji dolaze uz XP i oni koji dolaze uz Vistu. Vista ima najnovije, tako da ako se eventualno pravi instalacija isključivo za Vistu, onda oni i mogu da se izostave, u drugim slučajevima ne. Uostalom, šta ako korisnik ima Win98 koji nema runtime fajlove. Naravno, možda je malko deplasirano u 2008. godini pominjati Win98, ali zašto ne pokriti sve slučajeve ukoliko je to moguće. Svakako je bolje imati i nešto veću instalaciju koja će raditi na svim sistemima, nego imati posebnu instalaciju za 98, posebnu za XP a posebnu za Vistu. Dakle, uvek treba u instalaciju uključiti SVE fajlove potrebne za izvršavanje aplikacije, s tim što se naravno treba pobrinuti da instalacija ne zameni neki fajl ako već postoji ista ili novija verzija, već samo ako se na korisnikovom računaru nalazi starija verzija te komponente ili runtime fajlova, jer ono što je isprogramirano da radi sa starijom verzijom komponente, radiće i sa novom, međutim ono što je pravljeno da radi sa novom, može da ne radi dobro sa starom. Dobar primer za ovo je Common Dialog komponenta koja je imala opasan bug koji je ispravljen tek service packom 6. Stvar je u tome što je stara verzija ove komponente menjala App.Path putanju svaki put kada se iskoristi. E sad, neko ko je radio sa najnovijom verzijom ove komponente to nije mogao da zna, jer je njemu App.Path radio, međutim kada isporuči tu aplikaciju nekome ko ima stariju verziju te komponente, aplikacija će raditi, ali može dođi do krahiranja ukoliko se pozove App.Path posle korišćenja Common Dialoga. Recimo da aplikacija ima fajl settings.ini u folderu aplikacije iz kog aplikacija treba da pročita neka podešavanja, a programer je pre toga pozivao Common Dialog sa kojim je user otvorio neki fajl sa putanje C:\Marko\Fajlovi. Aplikacija će pokušati da pročita settings.ini sa putanje C:\Marko\Fajlovi\settings.ini, a pošto ga naravno neće naći doći će do greške. E sad, pošto su oni koji su koristili stariju verziju ove komponente to rešavali tako što App.Path putanju na početku programa smeste u string varijablu, pa onda koristili nju umesto App.Path, ta varijanta će raditi i sa starom i sa novom verzijom komponente, međutim onaj koji je radio sa novom verzijom komponente i koristio App.Path može imati problema ako tu aplikaciju pokrene na računaru gde je stara verzija komponente. Prema tome, uvek treba raditi sa najnovijim dostupnim komponentama i sve te komponente uvek uključivati u instalaciju. To je jedini pravi način da se osigura da će aplikacija raditi na većini računara, a u isto vreme i da neće zeznuti instalaciju nekog drugog VB programa koji korisnik možda ima već instaliran na računaru, jer ako instaliraš najnovije komponente i ta aplikacija će raditi, ali ako instaliraš starije, ta aplikacija može prestati da radi.
Druga stvar, kako znati šta treba uključiti u instalaciju. U principu, programer treba sam da zna šta je od komponenti koristio i da, bez obzira što većina programa za pravljenje instalacije ima opciju da automatski pokupi spisak tih fajlova, izvrši ručnu proveru i u slučaju potrebe ručno doda komponente koje je program za pravljenje instalacije eventualno propustio. Ukoliko programer ipak nije siguran koje sve fajlove treba uključiti, uvek može da iskoristi Dependency Walker kojim se to može utvrditi. Pravljenje dobre i stabilne instalacije koja će raditi na većini sistema ne može da se odradi za 2 minuta, već ipak zahteva malo više vremena i uzimanje dosta stvari u obzir.
Konačno, za pravljenje instalacije preporučio bih kombinaciju InnoScript + Inno Setup Compiler koja me lično nikada nije izneverila... mada nije greška koristiti ni NSIS, Install Creator, Ghost Installer, pa ni famozni PDW (ukoliko se instalira SP6). Bitno je znati šta radiš i odvojiti dovoljno vremena da se instalacija odradi kako treba. Takođe, bitno je i testiranje. Nije dovoljno da instalacija radi na računaru na kome je aplikacija i napravljena, jer to ne pokazuje ništa. Instalaciju treba probati i na goloj Windows instalaciji, kao i na nekom sistemu koji je već u upotrebi (a po mogućstvu nema instaliran VB6). Za ovo je najbolje koristiti softver koji je Stefan preporučio, a to je Virtual PC, koji je po meni neizostavan za svakog ozbiljnog programera.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti