Tatsächlich Attribut scheint die Nur-Lese-um dieses Problem zu reproduzieren ständig (mehrere Tests ausgeführt auf Win Vista & 7). Für diejenigen, die interessiert sind, habe ich eine kleine DLL erstellt, die nach dem Attribut sucht und es entfernt, falls vorhanden. Sie können es attached to this thread post (page 2) finden. Sie können die DLL in Paketen verwenden, die mit any tool you have erstellt wurden, solange sie ein MSI-basiertes Setup erstellt.
Ich würde sagen, kann nicht mit Sicherheit sagen, dass Windows Installer diese INI-Datei ändert, zum Beispiel, wenn die Verknüpfung, die entfernt wird, vom Benutzer nach der Installation angepasst wurde.
Ich habe ein paar Tests gemacht, ein Paket erstellt, das eine Desktopverknüpfung installiert und es ausführen, während der Deinstallation und Installation kann ich sehen, dass msiexec.exe ständig auf die "desktop.ini" zugreift. Dann entfernte ich die Verknüpfung aus dem Paket und löschte das Protokoll von Process Monitor, gefolgt von einer neuen Installation und Deinstallation. Ich konnte keine Spur mehr von msiexec.exe finden, die auf die desktop.ini zugreift.
Ich hatte nicht viel Zeit, um Dokumente über die Gründe zu suchen, warum Windows Installer auf diese Datei zugreifen, aber während ich suchte, konnte ich nichts finden. Sehr wahrscheinlich haben unsere Freunde von Microsoft nichts Offizielles darüber veröffentlicht, wenn man berücksichtigt, dass die Attribute dieser Datei unberührt bleiben müssen.
Ich kann nicht glauben, dass eine solche grundlegende Sache nach wie vor ein Problem ist. Ich schaue mir das nun mit WiX 3.8 an. – Jammer
und ich denke, es wird noch einige Zeit dort bleiben :). Vergessen Sie nicht, Fragen und Antworten zu aktualisieren, wenn Sie sie nützlich finden. –