Utilizzando manifesti firmati nelle distribuzioni ClickOnce, non è possibile modificare i file dopo che il pacchetto di distribuzione è stato pubblicato - l'installazione avrà esito negativo poiché le informazioni hash nel file manifest non corrisponderanno ai file modificati. Recentemente mi sono imbattuto in una situazione in cui ciò era problematico: i clienti devono essere in grado di impostare le stringhe di connessione in app.config prima di distribuire il software ai propri utenti.
Ho risolto il problema deselezionando l'opzione "Firma i manifesti ClickOnce" in VS2010 ed escludendo esplicitamente il file app.config dall'elenco di file per generare gli hash generati durante il processo di pubblicazione.
Da una pagina correlata su MSDN
"Unsigned manifests can simplify development and testing of your application. However, unsigned manifests introduce substantial security risks in a production environment. Only consider using unsigned manifests if your ClickOnce application runs on computers within an intranet that is completely isolated from the internet or other sources of malicious code."
Nella mia situazione, questo non è un problema immediato: l'implementazione non sarà rivolta a Internet. Tuttavia, sono curioso di sapere quali sarebbero "i rischi sostanziali per la sicurezza" di ciò che avrei fatto se si fosse trattato di Internet (o se le cose fossero cambiate e dovessero esserlo in futuro).
Grazie in anticipo!
Modifica / follow-up:
non firma il manifest di ClickOnce costituisce un manifest non firmato (come da definizione di MSDN)? Il manifest dell'applicazione contiene un hash dei file nel pacchetto di distribuzione. Qualsiasi modifica ai file al suo interno provoca un errore di convalida durante l'installazione. Questo nega i rischi di sicurezza di cui sopra, del tutto?