Intel: Can you please summarize what kind of application this is? Does it
have COM components? Does it feature GAC installation? Does it have
services? Does it have a lot of registry information? Is it your own
package or a third party package? Etc...
Self-Repair: This is a big issue, but a simple problem. The most concise explanation is probably this one: Why does the MSI installer reconfigure if I delete a file? (recommended).
Essentially: Windows Installer tries to maintain the files that were
originally installed.
External Causes: Self-repair usually have 3 main causes: 1)
Badly designed MSI packages with design flaws, 2)
Interference from external causes ranging from malware, to admin scripts to anything on the system that changes "something" - really, and 3)
Windows Design changes that trigger unexpected errors in legacy packages.
More here in section: "The Primary Causes of Self-Repair".
Given the intermittent nature of your problem it could be a security
software problem?
Blank GUIDs: There is a method where you can install the files via components that has a blank GUID. Then they are simply installed and never checked again. This should eliminate self-repair problems, however it also means the file will never be updated.
Other "Solutions": You must not try to disable the Windows Installer service or such things to resolve this problem, please try these pragmatic suggestions instead: Self-repair - finding real-world solutions (section 5). You can for example use non-advertised shortcuts, sort out COM registration issues, etc... There is also this piece on the issue: How do I avoid triggering MSI self-repair with my WiX / MSI package? (recommended).
Recent answer on a similar issue.
Self-Repair In Detail: More than anyone wants to know about self-repair. This is a section I created before, including it for its "glanceability":
- Self-repair - explained
- Self-repair - finding real-world solutions (third party packages)
- Self-repair - how to avoid it in your own package (your own packages)
Links: