This occurs because the install has become corrupted.
--
What you see is the auto-repair feature of Windows Installer. When an application is launched, Windows Installer performs a health check in order to restore files or registry entries that may have been deleted. Such a health check is not only triggered by clicking a shortcut but also by other events, such as activation of a COM server. The events triggering a health check depend on the operating system.
When you see this auto-repair problem this means that Windows Installer came to the conclusion that some application is broken and needs to be repaired. There are cases where this is intended bahaviour - see article How do I add HKEY_CURRENT_USER registry entries to all profiles? But in most cases it means that the MSI file was not authored properly.
The first step to diagnose the problem is looking at the Application Event Log in Windows. Depending on your operating system you can access the event log viewer following these steps:
Windows XP: Start > Control Panel > Performance and Maintenance > Administrative Tools > Event Viewer
Windows 2000: Start > Settings > Control Panel > Administrative Tools > Event Viewer
Windows NT4: Start > Programs > Administrative Tools (Common) > Event Viewer
In the "Applications" section you should find warnings from event source "MsiInstaller" with IDs 1001 and 1004. The message details would look like this:
Event ID: 1001
Description: Detection of product "{4ED0C75A-8BC5-4520-B9C7-76968FD5677F}", feature "Test" failed during request for component "{A7B09747-E527-4E1B-AE51-323CD636210F}"Event ID: 1004
Description: Detection of product "{4ED0C75A-8BC5-4520-B9C7-76968FD5677F}", feature "Test", component "{A7B09747-E527-4E1B-AE51-323CD636210F}" failed. The resource "C:\Progam Files\InstallSite\test.exe" does not exist.
The first message (with event ID 1001) states which component was being installed. The component listed here is the component named in the Component_ column of the Shortcut table for the particular shortcut.
The second message (with event ID 1004) indicates which component failed detection. Improved event logging in Windows Installer 2.0 has updated the message so that in most cases, the message identifies the actual resource that resulted in the failed detection. The component with the missing or damaged keypath is the component that is triggering the reinstallation.
In the example above, the reinstallation is triggered because the resource "C:\Program Files\InstallSite\test.exe" does not exist. You would then need to find out why the keypath (health check always checks the key path of a component) does not exist - in this case, the user deleted it.