I've been trying to delete a file through a patch using MSI's RemoveFile table. The issue I'm facing is that as soon as I run repair the files comes back.
Now, this appears logical since InstallFiles action comes after RemoveFiles action. So the file is removed when patch is applied. But as soon as user does a repair which in turn causes a REINSTALL=ALL, the InstallFiles action installs the file back. I don't want the file to come back at patch or repair.

Now I can delete the file from File table and then create a patch. But this approach creates sequencing issues when I try to create an msp by comparing the old and new MSI. Probably this is because the number of rows are different in new and old MSI.

Is there a way I can achieve this without a custom action? I'm sure there must be a way to achieve this in Windows installer as it seems a very common scenario.
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


appears to be deadlock without a custom action ....maybe you can write a script to modify the cached msi during patching although not a very good way but yes will work.
Answered 05/31/2011 by: blacklisted_packager
Orange Belt

Please log in to comment
It seems pretty clear that you haven't followed my advice of last week and that you still don't understand how patching works.

Think of patching literally: think how you might patch some material. How does that work? You replace one section of material with another. If you remove material, that's not patching. See? You're performing the latter action and you cannot use a patch for that. You need to create an update.
Answered 05/31/2011 by: VBScab
Red Belt

Please log in to comment