Originariamente inviato da inconsapevole
Come capisco cosa non è un riferimento standard al .net fw?
Tutti gli assembly System.* appartengono al framework, generalmente (a meno che non sia stato installata a parte un pacchetto aggiuntivo dello stesso framework).

Originariamente inviato da inconsapevole
Controllo le include e mi sembrano tutte predefinite, non ho incluso nulla di strano a parte quel Interop.IWshRuntimeLibrary.
Quella Interop.IWshRuntimeLibrary viene aggiunta ai file da installare sulla macchina di destinazione?

Originariamente inviato da inconsapevole
Non ho trovato nulla su quella libreria in internet, ne tanto meno un pacchetto redistribuibile, di conseguenza non so cosa andrebbe istallato, nel caso lo farei e riproverei. E se risolve il problema lo includo nel pacchetto di installazione come prerequisito.
Quella libreria viene generata da Visual Studio quando importi un oggetto COM.
Mentre l'oggetto COM, che mi pare abbastanza standard, non penso vada ridistribuito, quella libreria (prodotta da te, anche se in automatico) deve essere copiata assieme all'applicazione.

Originariamente inviato da inconsapevole
Un domanda in parte OT, per dati usati all'interno dell'applicazione, tipo immagini, icone o dati "in chiaro" di questo genere, come li si include nel programma? Per esempio un'immagine che apro nel programma in esecuzione, io la copio nella cartella del programma e da li la richiamo, il programma altrimenti non la "codifica" all'interno dell'eseguibile da solo essendo essa usata nel codice?
Nel caso il mio metodo sia corretto, cioè quello di far riferimento ad una immagine nella cartella dell'applicazione, come posso non lasciare "in chiaro" questi files? Trovo sia poco professionale e poco rifinito.
Se includi le immagini in un file di risorse (Resource file) che viene compilato nell'applicazione, non hai bisogno di distribuire quelle immagini; se invece le carichi dall'esterno nel progetto, allora devono essere ridistribuite.