Hi again,
I'm trying to work out what the best practices are for making modifications (upgrading) to existing custom application deployments? For example, say I've created a Timesheets Site Definition which comprises of a number of custom Features. One year from now when the client wants to modify the way his timesheet system works how do these modifications get deployed. I know you *can* upgrade Solutions but how do you handle, for example, existing data when you've modified a list definition?
Is it the case that I will need "Migration" code that tidies up any changes between versions? So in effect we would have "Version 2 Upgrade" Feature and within there would be an OnActivation Event receiver that adds new list columns, deploys new/modified pages, updates Custom Actions etc... (and the opposite in OnDeactivation)?
Am I missing a trick here?