MSI component that doesnt repair ? If possible ?
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,
Olivier
Answers (3)
Comments:
-
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? - anonymous_9363 9 years ago
-
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 - Olivierborgeaud 9 years ago-
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? - anonymous_9363 9 years ago
-
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. - EdT 9 years ago
-
Won't a repair with the original txt file missing still cause the file to be recreated? - EdT 9 years ago
-
My apologies, I should have been clearer. The OP needs to additionally ensure that the component has no key path defined.
CORRECTION:
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. - anonymous_9363 9 years ago
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.
After that I tought that it was easy to put a condition without success. Anyway, I should go for the custom action... - Olivierborgeaud 9 years ago