Indeed, the read-only attribute seems to constantly reproduce this problem (several tests run in Win Vista and 7). For those of interest to you, I have created a small DLL that checks the attribute and removes it if it is present. You can find the topics attached to this post (page 2) . You can use the DLL in packages created using any tool that you have if it creates an installation based on MSI.
I would suggest, I can’t say for sure that the Windows installer modifies this INI file, for example, if the shortcut that is being deleted was configured by the user after installing it.
I conducted several tests, created a package that installs a shortcut on the desktop and launches it, during uninstallation and installation I see that msiexec.exe constantly refers to "desktop.ini". Then I removed the shortcut from the package and cleared the log from Process Monitor , and then the new installation and uninstall process. I could not find any trace of msiexec.exe by accessing desktop.ini anymore.
I did not have too much time to search for documents about the reasons why the Windows Installer accesses this file, but while I was searching, I could not find anything. Most likely, our friends from Microsoft did not officially publish anything about this, believing that the attributes of this file should be intact.
Bogdan mitrache
source share