RE: What is the best way to bring Plugin Assembly & SDK Messages from Sandbox to Production?
There is already one article on the Dynamics community please check if it helps.
Just to summarize the deployment practice on production. Please keep the below-mentioned prereq in mind,
- Always deploy managed solutions.
- As per standard practice create (open this Article)
- We can create separate solutions for each region. This help in better management when multiple devs are working
- MetaData (Form, view, or entity properties)
- Plugin (containing plugins, JS, workflow activity)
- Security Roles
- Reporting
- Ribbon
- Apps (if we have model-driven or canvas apps)
Should we register our Plugin with Plugin Registration Tool on Production Server.
I would suggest not to do that. As for production, the best way is to do solution deployment from UAT. Making sure that these two environments (Prod and UAT) are always synced. There is no harm in doing plugin registration directly on production but it will take additional time. Keeping in mind that production deployments are always short on time.
Can we import Plugin dll in Solution? Do we have to import SDK Messages too?
Yes, we have to take SDK messages as they contain the steps and pre or post messages in some cases.
Would just importing Solution in Production work or do we have to register our Plugin on Production separately.
No need if we did it via solution. Just make sure we publish it.
If we bring a new version of a Plugin via Solution, and we notice that it doesn't work, by disabling the neuer Solution, would the old Plugin automatically activated?
Always take a backup. As solution deployment, if managed to delete it will delete the plugin. In case if unmanaged deleting it wont be of any help. There is no disabling option in solutions (least at the time of writing this reply :) ). Use code repository (TFS, GitHub, DevOps, etc) if we are doing deployment directly to restore the last working state.