In effetti, l'attributo di sola lettura sembra essere riprodurre questo problema costantemente (più test eseguiti su Win Vista & 7). Per quelli di voi interessati, ho creato una piccola DLL che controlla l'attributo e la rimuove se presente. Lo puoi trovare attached to this thread post (page 2). È possibile utilizzare la DLL nei pacchetti creati con any tool you have, purché crei un'installazione basata su MSI.
Direi, non posso dire con certezza, che Windows Installer modifica questo file INI, ad esempio se il collegamento che viene rimosso è stato personalizzato dall'utente dopo che è stato installato.
Ho effettuato alcuni test, creato un pacchetto che installa un collegamento sul desktop ed eseguito, durante la disinstallazione e l'installazione posso vedere che msiexec.exe accede costantemente al "desktop.ini". Quindi ho rimosso il collegamento dal pacchetto e cancellato il registro da Process Monitor, seguito da una nuova procedura di installazione e disinstallazione. Non sono riuscito a trovare alcuna traccia di msiexec.exe che accedesse a desktop.ini.
Non ho avuto troppo tempo per cercare documenti sui motivi per cui Windows Installer accede a questo file, ma mentre ho cercato non sono riuscito a trovare nulla. Molto probabilmente i nostri amici di Microsoft non hanno pubblicato nulla di ufficiale a riguardo, considerando che gli attributi di questo file non devono essere toccati.
fonte
2013-02-18 08:22:45
Non posso credere che una cosa così fondamentale è ancora un problema. Sto guardando questo ora usando WiX 3.8. – Jammer
e penso che continuerà ad esserci per qualche tempo :). Non dimenticare di sviare le domande e le risposte se le trovi utili –