I need to create a component that doesnt repair if I make an MSI autorepair of the package

(Because this component create a TXT files on the desktop of all users, and I don’t want this file came back with the auto repair after it was deleted by the technician. In fact this TXT file contain some installation instruction for post –setup configuration…)


Any ideas are welcome,


Best regards,



1 Comment   [ + ] Show Comment


  • I tried to create an new features with Admin Studio (InstallShield 2013) and I put the compnent on it.

    After that I tought that it was easy to put a condition without success. Anyway, I should go for the custom action...
Please log in to comment

Community Chosen Answer

Go for the component with no GUID

If this column is null the installer does not register the component and the component cannot be removed or repaired by the installer. This might be intentionally done if the component is only needed during the installation, 

Answered 07/28/2015 by: jagadeish
Red Belt

Please log in to comment


Generate the text file with a custom action. In the custom action code, check in the registry under add/remove programs to see if the application is installed, and only create the text file if the app is not installed.
Answered 02/04/2015 by: EdT
Red Belt

  • Wouldn't it be simpler to move the component into a separate feature and ensure that that feature is at the root of the feature tree?
    • This is what I would like to do, and I need the easyer way to do that because we have to do that fot hundreds...
      Thanks for any informations
      • Sorry, Olivier, but I don't have time to walk you through how to edit MSIs. I could point you in the general direction, though. What tool are you using for editing the MSI?
      • It's helpful if you include this sort of information right from the start. I would suggest that adding a single custom action is a lot easier when dealing with hundreds of apps.
    • Won't a repair with the original txt file missing still cause the file to be recreated?
      • My apologies, I should have been clearer. The OP needs to additionally ensure that the component has no key path defined.

        Since the file is on the Desktop, the component should use a registry key path. That will be present post-installation and therefore not trigger self-healing for that component during the repair.
Please log in to comment

Def go for the component with no key path. If is going to the all users desktop, its a machine path so it can use the directory as its key, you don't need to add a reg key. You also would not have to play with your Feature structure.

you could use the attribute of 128 to ensure it would not reinstall the Component... (but you would have to add a reg key)
From the MSI.chm
If this bit is set, the installer does not install or reinstall the component if a key path file or a key path registry entry for the component already exists. The application does register itself as a client of the component.

Use this flag only for components that are being registered by the Registry table.

Answered 02/05/2015 by: Badger
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity