My scenario is this: I want the installer to completely remove the old version (all files except those created by the application during its lifetime) and r
Yes, the auto-guid Component/@Guid
are safe. They are done very specially to ensure that the GUID is generated in a way that is stable across releases for that Component such that the Component Rules are not violated.
Additionally, if you do not share Components with other Products and you always use major upgrades and you schedule the major upgrade early, then you don't have to worry about Component GUIDs much at all, because the two Component GUID definitions will never be on the machine at the same time. For example, the defaults for the MajorUpgrade
element give you exactly this:
<MajorUpgrade DowngradeErrorMessage='A newer version of [ProductName] is installed.' />
So, the answer is, "Yes". :)