component question
Anyone have any idea how I can make a component not mater in my msi? I have a file that is deleted at the end of my installation and when a user launches the software it does a self heal beacause i had a file deleted. I just want the msi to ignore the fact that the file is missing.
0 Comments
[ + ] Show comments
Answers (6)
Please log in to answer
Posted by:
AngelD
15 years ago
Posted by:
jmcfadyen
15 years ago
actually thats not the correct way to fix this, (weird I have never ever caught Kim out on anything)
to stop self healing you should not delete the keypath but delete the component code.
this in effect stops the component from being registered, where as deleting the keypath still allows the component to be registered with a blank keypath information which can actually affect healing.
to stop self healing you should not delete the keypath but delete the component code.
this in effect stops the component from being registered, where as deleting the keypath still allows the component to be registered with a blank keypath information which can actually affect healing.
Posted by:
AngelD
15 years ago
HAHA nice John!
True, but I didn't mean to set the keypath as blank but change the associated keypath to another file in that same component if more then one exists so they would get repaired if component was found broken. However I would be surprised if an application would delete the entire folder.
But yes, the correct way to prevent a component with all its resources from being repaired is as you described.
pisanom,
I guess the file is located in the user's profile and not on a machine/sysetm level.
Cheers John
/Kim
True, but I didn't mean to set the keypath as blank but change the associated keypath to another file in that same component if more then one exists so they would get repaired if component was found broken. However I would be surprised if an application would delete the entire folder.
But yes, the correct way to prevent a component with all its resources from being repaired is as you described.
pisanom,
I guess the file is located in the user's profile and not on a machine/sysetm level.
Cheers John
/Kim
Posted by:
MSIPackager
15 years ago
to stop self healing you should not delete the keypath but delete the component code
Hi John / Kim,
Would you also recommend this method for creating terminl server enabled packages? For our Citrix environment we've been removing the keypath for CU registry components - and allowing change user /install to ensure that CU keys are shadowed and delivered.
I guess your suggestion achieves the same result - but would a manual repair (via control panel or msiexec /fu) still repair that component - or would it be completely ignored?
Thanks,
Rob.
Posted by:
AngelD
15 years ago
Hi Rob,
Would you also recommend this method for creating terminl server enabled packages?
It all depends ;)
Removing the ComponentId will prevent removal of the component during uninstall.
So the question you have to ask youself is; do you want to be able to uninstall the entire package?
For TS you need to make sure to "prevent" a repair from occurring due to lack of permission for users to trigger a repair.
When I packaged for TS; been some time I did that, I just made sure the shadow registry populated the HKCU hive.
For userprofile files you need to handle from a loginscript or similar, I wouldn't use Active Setup for this thus some time I did (no msiexec execution).
If I recall correct a repair from ARP would do a full reinstall and not only for broken components.
Would you also recommend this method for creating terminl server enabled packages?
It all depends ;)
Removing the ComponentId will prevent removal of the component during uninstall.
So the question you have to ask youself is; do you want to be able to uninstall the entire package?
For TS you need to make sure to "prevent" a repair from occurring due to lack of permission for users to trigger a repair.
When I packaged for TS; been some time I did that, I just made sure the shadow registry populated the HKCU hive.
For userprofile files you need to handle from a loginscript or similar, I wouldn't use Active Setup for this thus some time I did (no msiexec execution).
If I recall correct a repair from ARP would do a full reinstall and not only for broken components.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.