Few minor improvements to the great tool

May 20, 2011 at 3:38 AM

Thanks for creating and sharing the tool.  Few suggestions for improvement :-

a.  Place the Organisation and Server address on the Command line so a Config file can be shared between users and databases
b.  We had to change the progam.cs line from  if (registrationHelper.Errors.Count != 0) to if (registrationHelper.Errors != null && registrationHelper.Errors.Count != 0) to display an intial load error correctly.
c.  XSD suggests some nodes can be empty.  e.g. Image.Attributes, but excluding this causes an error so you have to place <Attributes></Attributes> in the XML.
d. Some output to a logfile might be useful.  We've made some modifications so we see what is occurring and pipe the output to a log file.
e. On your Documentation screen the parameters are listed with a colon (:), while the examples and code expect equals (=). 

Using XML file RegistrationPlugins.xml
Registering assemblies...
....Crm.AccountPlugin (.\Crm.AccountPlugin.dll)
.......Crm.Plugin.AccountPlugin.SavePlugin: Create of account: PreOperation
.......Crm.Plugin.AccountPlugin.SavePlugin: Update of account: PreValidation

Other than that the tool is great.  Thanks for the contribution.



Jul 4, 2011 at 12:42 PM

Thanks Glenn,

I'll look into your suggestions when I get a moment (work pressures, etc.).



Aug 23, 2011 at 9:05 AM
Edited Aug 23, 2011 at 10:47 AM


Thanks for a good tool...

Is https supported? if so, if i give ServerAddress as https://servername in the configuration xml why it is throwing error as i can see that it is forming discovery url as http://https:// if i give http://severname it is working fine

Please suggest




May 10, 2012 at 11:50 AM

@glenn_goodwin8 & @rampratap81: would you guys like to be added as contributors?

Jul 10, 2012 at 4:51 AM
Edited Jul 10, 2012 at 6:21 AM

Could you guys provide me the working code?

I am getting few errors like 

1. The Symbol cannot be resolved " http://http://myserver.test.com", It is adding http twice.

So to fix i have changed a method to pass string instead of URi, 

2. from that it is throwing an error "Object reference ....." error.

Please provide working code .


Thanks in Advance

Nov 26, 2012 at 12:17 PM
Edited Nov 26, 2012 at 12:19 PM

I've finally succeeded to get this tool working for on-premise deployment. I did following modification:

XrmService.cs: line 426: return serverConnection; // NOT return ServerConnection;


replace all occurence: 

this.Config.DiscoveryUri = new Uri(String.Format(CultureInfo.CurrentCulture, "{0}://{1}/XRMServices/2011/Discovery.svc", UriScheme, this.Config.ServerAddress));


this.Config.DiscoveryUri = new Uri(String.Format(CultureInfo.CurrentCulture, "{0}XRMServices/2011/Discovery.svc", this.Config.ServerAddress)); // NOT this.Config.DiscoveryUri = new Uri(String.Format(CultureInfo.CurrentCulture, "{0}://{1}/XRMServices/2011/Discovery.svc", UriScheme, this.Config.ServerAddress));


XrmMetada.cs: added properties

public string Domain { get; set; }       

public string Username { get; set; }       

public string Password { get; set;  },

new constructor to set these props 

 public XrmMetadata(Uri domainUri, string organization, string domain, string username, string password)        {            if (domainUri != null)            {                this.ServerAddress = domainUri.AbsoluteUri;                this.OrganizationName = organization;                this.Domain = domain;                this.Username = username;                this.Password = password;            }        }

and use new constructor in creating service:

using (XrmService service = new XrmService(new Uri(ServerAddress), OrganizationName, Domain, Username, Password))


Same new props, constructor, create in XrmSolution.cs

Nov 26, 2012 at 1:56 PM

Thanks. I'll add you to the team.