Grazie mille per la risposta... Io sto cercando di comprendere al meglio il funzionamento del progetto di distribuzione interno al vs2005 per non affidarmi ad altri programmi di terze parti. Infatti prima utilizzavo install shield ma è un peccato non utilizzare un qualcosa che già ho.
Per il punto due ho risolto studiando bene la proprietà DeleteAtUninstall.
In pratica questa prorietà, assegnata ad una chiave, cancella la chiave stessa e le altre + in alto alla radice se sono vuote anche se hanno tale proprietà impostata su false.
Ad es., nel mio caso, ho il percorso "AcroExch.Document.7\shell\Apri in
<mioprog>\Command\<valore predefinito>". Se imposto la proprietà DeleteAtUninstall alla chiave "Apri in
<mioprog>", alla disinstallazione, il programma cancellerà la chiave "Apri in
<mioprog>" e tutte le sue sottochiavi per poi verificare se la chiave "shell", nella radice superiore, ha dei valori assegnati o altre sottochiavi e se non ne ha, cancella anche quella, indipendentemente dalla proprietà DeleteAtUninstall eventualmente assegnata ad essa. Questo succede ricorsivamente per tutto il percorso a ritroso partendo dalla chiave "Apri in
<mioprog>". Quindi, se acrobat è installato, dalla chiave shell in sù ci saranno sicuramente valori, altrimenti in fase di installazione verrà creato tutto il percorso e, in disinstallazione, cancellato.
Ora non mi resta che risolvere il problema dell'icona sul desktop condizionata....

____________(¯`·.¸¸.->| PaLoMo2 |<-.¸¸.·´¯)____________