Il libro .NET Framework 2.0 Application Development Foundation - Self-Paced Training Kit è fatto abbastanza bene, IMHO, tranne alcuni capitoli che sono proprio tirati via.
Uno di questi è il capitolo 9, Installing and Configuring Applications, nonostante il fatto che, a detta degli stessi autori, corredare la nostra applicazione di un buon installer è oramai un'attività imprescindibile.
Appare subito evidente che la parte relativa alla creazione dell'installazione è del tutto insufficiente, a partire dagli obiettivi del capitolo, dove ancora una volta il "taglia e incolla" ha colpito ancora: il secondo punto, invece di riferirsi all'installazione, è quello del capitolo 8 !
Non viene fatto alcun riferimento alle diverse possibilità di installazione offerte dal framework, quali la XCOPY (visto che le applicazioni .NET sono self-contained) e la disponibilità di progetti da aggiungere alla nostra Solution quali Setup, Web Setup, Merge Module, CAB, Smart Device CAB e, facilissimo da usare, il Setup Wizard, che ci guida passo passo alla creazione del progetto di installer (In effetti ne parla, ma solo nella sezione Lab, senza averne mai parlato prima nella teoria).
In poche pagine si accenna all'uso della classe Installer e alla necessità di utilizzare InstallUtil.exe o le classi AssemblyInstaller o ComponentInstaller, senza dare un quadro generale in cui inserire le informazioni.
Avendo utilizzato il Setup wizard mi sono chiesto quando, perchè e come utilizzare una classe Installer. Ho dovuto googlare e leggermi un po' di articoli e definizioni di classi per farmi un quadro chiaro (almeno spero) dei vari pezzi che compongono il puzzle.
Se compro un libro, vorrei che i temi trattati fossero ben illustrati, magari non a fondo ma almeno con un quadro completo. Se devo andare in giro per la rete, allora tanto vale che non compro alcun libro, o sono troppo esigente?
Comunque non tutto il male vien per nuocere, perchè mi sono deciso a scrivere un articolo sulla creazione di una installazione custom, che se viene bene sarebbe il primo.
Se invece non viene bene, lo cestino e vi dispenso!