I think this is an easy one, I've not used the feature for a while so can't remember what I need to do....below is my scenario

1. I have a package on a machine that I want to remove
2. The package that I want to remove doesn't have an entries in the upgrade table, though it does obviously have an upgrade code & product code in the Properties table.
3. I would like to remove the above package with a new version of the package that will be deployed.

Given the above circumstances....what do I need to do to achieve this?

I'm guessing I need to add the upgrade code of the old package into the upgrade code section of the upgrade code in the new package. In addition to this, I assume I need to specify a max version, attribute & action property?

Can anybody confirm if the above is correct and if so...can anybody confirm what I need to put into the action property? This is where I'm struggling.

Thanks in advance.
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


You're correct. You need to see in the installsequence table that the 'removeExistingProducts' key is around sequence 1300 or 1350. (this is a predefined action, it already exists)
If you correctly add your information to your new package then it will remove the previous one :)
Answered 02/03/2011 by: tds
Senior Yellow Belt

Please log in to comment

Don't forget, if you're manually editing the tables, to add the ActionProperty to the SecureCustomActionData property of your MSI. Also make sure you correctly fill out the Attibutes for the line in the Upgrade table for version include/exclude.
As far as the naming of the ActionProperty goes, you're free to choose.

Answered 02/03/2011 by: pjgeutjens
Red Belt

Please log in to comment
You need to see in the installsequence table that the 'removeExistingProducts' key is around sequence 1300 or 1350Whoa! Careful! You can't be specific with sequence positions, as each MSI is different. If the OP's package is chock-full of Custom Actions, that will skew the positioning. As long as RemoveExistingProducts appears early in the sequence (the default is near the end), all is good.
Answered 02/04/2011 by: VBScab
Red Belt

Please log in to comment
As of now I put the RemoveExistingProducts between installintialize and installvalidate.
In this case the older package will get remove then new package gets install.


My methods seems to be wrong but i feel it depends on how we are supposed to handle older package.
Answered 02/04/2011 by: rock_star
Second Degree Black Belt

Please log in to comment