Friday, 16 December 2011
Thursday, 15 December 2011
Assigning a record to team is not assigned to respective queue
I created a team, and when team is created a queue with the same name is also created, When I was assigning the record to Team using Out of Box (OOB) functionality of CRM, The Case was not shown in Queue.
Resolution: Entities which are expected to be assigned to Queue. Their Queue option should be checked "once enabled it can not be disabled later on".
The items which you expect to automatically move to owner's queue in my case Team's Queue, Check the option "Automatically move records to the owner's default queue when a record is created or assigned" for the entity you are assigning.
Resolution: Entities which are expected to be assigned to Queue. Their Queue option should be checked "once enabled it can not be disabled later on".
The items which you expect to automatically move to owner's queue in my case Team's Queue, Check the option "Automatically move records to the owner's default queue when a record is created or assigned" for the entity you are assigning.
Tuesday, 13 December 2011
CRM 2011 error message Request not supported
I am getting an error message of “Request not supported” when trying to make a soap request in Silverlight application. Following is the code I am using
EntityReference entityReference = new Xrm.Sdk.EntityReference("userquery",new Guid("{000000-0000-0000-0000-000000000000}"));
ParameterCollection parameterCollection = new ParameterCollection();
parameterCollection.Add("Target", entityReference);
OrganizationRequest req = new OrganizationRequest
{
RequestName = "RetrieveSharedPrincipalsAndAccessRequest",
Parameters = parameterCollection
};
OrganizationResponse response = _serviceProxy.Execute(req);
Following code works fine if I use early bound types
EntityReference entityReference = new Xrm.Sdk.EntityReference("userquery",new Guid("{00000000-0000-0000-0000-000000000000}"));
RetrieveSharedPrincipalsAndAccessRequest req = new RetrieveSharedPrincipalsAndAccessRequest();
req.Target = entityReference;
OrganizationResponse response = _serviceProxy.Execute(req);
As I am making a soap calls in silverlight utility, later option is not applicable and I am only left with first option to use.
Solution: I was using the RequestName wrong there should not be any "Request" name appended at the end of it i.e. use RetrieveSharedPrincipalsAndAccess instead of RetrieveSharedPrincipalsAndAccessRequest
Debug Silverlight application hosted in CRM 2011
Friday, 9 December 2011
CRM Mirroring/Replication
In order to do replication/mirroring of CRM server, do it on CRM tenant instance only as The MSCRM_Config database contains URL and configuration stuff which is different on every environment.
Make sure the tenant names/database name is same for which to apply mirroring.
Make sure the tenant names/database name is same for which to apply mirroring.
Wednesday, 7 December 2011
401 unauthorized
We accessing CRM url, and entering credentials three time, "401 unauthorized" error message is shown.
This is due to IE is not considering it as a secure site to fix this
Go to Tools and Select Internet Options,
Select security tab, and select Local intranet and click Site button
Click on the advance button
Enter the crm url and click add
If problem still persists then also look at the following post, which explains that this could be due to Kerberos authentication
http://thecrmarchitect.com/2009/01/23/crm_401_unauthorized/
This is due to IE is not considering it as a secure site to fix this
Go to Tools and Select Internet Options,
Select security tab, and select Local intranet and click Site button
Click on the advance button
Enter the crm url and click add
http://thecrmarchitect.com/2009/01/23/crm_401_unauthorized/
Tuesday, 6 December 2011
Re-import CRM org in to new server
I have got two servers, CRM-Dev and CRM-Staging,
CRM-Dev contains the latest changes and we want to deploy it to CRM-Staging
Open SQL-Managment Studio and take the backup of CRM-Dev_MSCRM instance and restore it on CRM-Staging machine with a same or different database name e.ge CRM-Stag_MSCRM.
On the restored database execute following sql script, and then copy each reult view and execute the script again. This will ensure that all org id is unique.
CRM-Dev contains the latest changes and we want to deploy it to CRM-Staging
Open SQL-Managment Studio and take the backup of CRM-Dev_MSCRM instance and restore it on CRM-Staging machine with a same or different database name e.ge CRM-Stag_MSCRM.
On the restored database execute following sql script, and then copy each reult view and execute the script again. This will ensure that all org id is unique.
SELECT 'ALTER TABLE '+QUOTENAME(name)+' NOCHECK CONSTRAINT ALL'
FROM sysobjects WHERE xtype='U' and uid=1
declare @newid uniqueidentifier
select @newid = newid()
SELECT
'Update ' + c.TABLE_SCHEMA + '.' + c.TABLE_NAME + ' set ' + c.COLUMN_NAME +' =''' + +cast(@newid as varchar(40))+''''
FROM INFORMATION_SCHEMA.Columns c
INNER JOIN INFORMATION_SCHEMA.Tables t
ON c.TABLE_NAME = t.TABLE_NAME
AND t.TABLE_TYPE = 'BASE TABLE'
WHERE DATA_TYPE = 'uniqueidentifier' and column_name='organizationid'
SELECT 'ALTER TABLE '+QUOTENAME(name)+' CHECK CONSTRAINT ALL'
FROM sysobjects WHERE xtype='U' and uid=1
Open the deployment Manager and select import option, and select the recently restored database, and select defaults.
Organisation is successfully imported.
email router error
Error 3
The following error message was received when testing the email router:Type 'System.ServiceModel.Channels.ReceivedFault' in Assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable
Resolution:
Add the account running the email router services to PrivUserGroup security group.
taken from http://mscrmshop.blogspot.com/
Monday, 5 December 2011
Powershell abc
cls clear screen
notepad runs notepad
get-process notepad |Format-list * |more shows the list of process having name of notepad and shows all attached properties, |more is used for paging
get-process |Format-table -property-name name,starttime |more shows the table of processes, the property which are not shown are because of privileges of currently running powershell user.
get-process | where-object { $_.starttime } |Format-table -property-name name,starttime
shows the table of processes having value of starttime
gps | ?{$_.starttime} |ft name,starttime
this command is equivalent to above used command
Get-Alias
lists the all the alias
Get-help Get-Alias
------------
stop-process processid
-----
get-process | sort name
-----------------------
Get-EventLog -List
Get-EventLog -LogName 'windows powershell' newest 5 |Formatlist *
Get-EventLog -LogName 'windows powershell' where ($_.message -match 'wmi')
the above commands do the wildcard matching
Get-EventLog -LogName 'windows powershell' -source 'xyz'
Get-EventLog -LogName 'windows powershell' -source 'xyz' -After '3/8/11'
notepad runs notepad
get-process notepad |Format-list * |more shows the list of process having name of notepad and shows all attached properties, |more is used for paging
get-process |Format-table -property-name name,starttime |more shows the table of processes, the property which are not shown are because of privileges of currently running powershell user.
get-process | where-object { $_.starttime } |Format-table -property-name name,starttime
shows the table of processes having value of starttime
gps | ?{$_.starttime} |ft name,starttime
this command is equivalent to above used command
Get-Alias
lists the all the alias
Get-help Get-Alias
-----
Get-Services | where {$_.status eq 'running'}
list of all the services that are running
Get-Services | where {$_.canPauseAndContinue}
---------
Get-Command -Noun Service
get-help set-service
Set-Service -Name lanmanservice -Status paused
------------
stop-process processid
-----
get-process | sort name
-----------------------
Get-EventLog -List
Get-EventLog -LogName 'windows powershell' newest 5 |Formatlist *
Get-EventLog -LogName 'windows powershell' where ($_.message -match 'wmi')
the above commands do the wildcard matching
Get-EventLog -LogName 'windows powershell' -source 'xyz'
Get-EventLog -LogName 'windows powershell' -source 'xyz' -After '3/8/11'
how to check if smtp server is running and reachable
Start->Run->Cmd
telenet servername/ip/fqdn port
e.g.
telenet 217.22.10.19 25
if the command works fine then following response from SMTP server will be shown
220 217.22.10.19 Microsoft Exchange Internet Mail Conector..
Following description is taken from http://support.microsoft.com/kb/153119
In the following steps, you run Telnet from the command line. To open a command line, Click Start, clickRun, type cmd in the Open box, and then click OK.
telenet servername/ip/fqdn port
e.g.
telenet 217.22.10.19 25
if the command works fine then following response from SMTP server will be shown
220 217.22.10.19 Microsoft Exchange Internet Mail Conector..
Following description is taken from http://support.microsoft.com/kb/153119
In the following steps, you run Telnet from the command line. To open a command line, Click Start, clickRun, type cmd in the Open box, and then click OK.
- You can start a Telnet session by using the Telnet command in the following format:
Note Press ENTER after you type each line.telnet servername portnumberFor example, type:telnet mail.contoso.com 25Note You can replace servername with the IP address or the FQDN of the SMTP server that you want to connect to. Remember to press ENTER after each command.
If the command works, you receive a response from the SMTP server that is similar to the following:Note There are different versions of Microsoft SMTP or third party SMTP servers, and you may receive different responses from the receiving server. What is important is that you receive the 220 response with the FQDN of the server and the version of SMTP. Additionally, all versions of Microsoft SMTP include the term "Microsoft" in the 220 response.220 site.contoso.com Microsoft Exchange Internet Mail Connector <version number of the IMC>
- Start communication by typing the following command:EHLO test.comNote You can use the HELO command, but EHLO is a verb that exists in the Extended SMTP verb set that is supported in all current Microsoft implementations of SMTP. It is a good idea to use EHLO, unless you believe that there is a problem with the Extended SMTP Verbs.
If the command is successful, you receive the following response:250 OK
- Type the following command to tell the receiving SMTP server who the message is from:MAIL FROM:Admin@test.comNote This address can be any SMTP address that you want, but it is a good idea to consider the following issues:
- Some SMTP mail systems filter messages based on the MAIL FROM: address and may not permit certain IP addresses to connect or may not permit the IP address to send e-mail to the SMTP mail system if the connecting IP address does not match the domain where the SMTP mail system resides. In this example, that domain is test.com.
- If you do not use a valid e-mail address when you send a message, you cannot determine if the message had a delivery problem, because the non-delivery report (NDR) cannot reach an IP address that is not valid. If you use a valid e-mail address, you receive the following response from the SMTP server:
250 OK - MAIL FROM Admin@test.com
- Type the following command to tell the receiving SMTP server whom the message is to.
Note It is a good idea to always use a valid recipient SMTP address in the domain that you are sending to. For example, if you are sending to john@domain.com, you must be certain thatjohn@domain.com exists in the domain. Otherwise, you will receive an NDR.
Type the following command with the SMTP address of the person you want to send to:RCPT TO: User@Domain.ComYou receive the following response:250 OK - Recipient User@ Domain.Com
- Type the following command to tell the SMTP server that you are ready to send data:DATAYou receive the following response:
354 Send data. End with CRLF.CRLF
- You are now ready to start typing the 822/2822 section of the message. The user will see this part of the message in their inbox. Type the following command to add a subject line:Subject: test messagePress ENTER two times. You do not receive a response from this command.
Note The two ENTER commands comply with Request for Comments (RFC) 822 and 2822. 822 commands must be followed by a blank line. - Type the following command to add message body text:This is a test message you will not see a response from this command.
- Type a period (.) at the next blank line, and then press ENTER. You receive the following response:
250 OK
- Close the connection by typing the following command:QUITYou receive the following response:
221 closing connection
- Verify that the recipient received the message that you sent. If any error event messages appear in the application event log, or if there are problems receiving the message, check the configuration or the communication to the host.
CRM NLB, applicationHost.config
This installation has Full Server installation on NLB enabled Cluster of CRM1 and CRM2. Following are the detail steps which are done
· Created a domain Account, and set it as a member of “domain admin” and “user group”, set the SPN with the provided NLBName and fully qualified domain name
· Done the installation of Full Server on CRM prod 1
Updated the windows authentication element attributes with “<windowsAuthentication enabled="true" useAppPoolCredentials="true" />” in applicationHost.config file for all ms crm root and sub folders.
Cause: applicationHost.config file on CRM1 is missing lots of configuration xml tags
Resolution: compare the applicationHost.config file on CRM1 with the following tags, and update if some tag is missing
https://docs.google.com/open?id=0B2CGMco-qUSwMmQyMzhlZDctMTg0My00ZDQ0LTg0ZDktYjc2NTI3NjM1YTc5
Tuesday, 29 November 2011
crm installation log path
C:\Users\kaleem.khan\AppData\Roaming\Microsoft\MSCRM\Logs
can not change application pool identity to custom account
aspnet_regiis.exe is at %windir%\Microsoft.NET\Framework\v2.0.50727
http://blogs.msdn.com/b/vijaysk/archive/2009/03/14/caution-while-xcopying-iis-7-0-config-files.aspx
http://blogs.msdn.com/b/vijaysk/archive/2009/03/14/caution-while-xcopying-iis-7-0-config-files.aspx
Monday, 28 November 2011
how to disable kernel mode authentication in iis7
%windir%\system32\inetsrv\appcmd set config /section:windowsAuthentication /useKernelMode:false
http://blogs.msdn.com/b/tmarq/archive/2007/08/29/iis7-kernel-mode-authentication.aspx
http://blogs.msdn.com/b/tmarq/archive/2007/08/29/iis7-kernel-mode-authentication.aspx
The account specified to run the Microsoft Dynamics CRM application does not have Performance Counter permissions
Error:The account specified to run the Microsoft Dynamics CRM application does not have Performance Counter permissions.
Resolution: On the machine where CRM installation has to be done. Add the domain account to performance log group.
http://praphullaparab.wordpress.com/2011/03/23/first-look-at-microsoft-dynamics-crm-2011-installation/
Resolution: On the machine where CRM installation has to be done. Add the domain account to performance log group.
- Open Start -> Administrative Tools -> Computer Management.
- Navigate to System Tools -> Local Users and Groups -> Groups.
- Select the group
Performance Log Users
, right-click on it and selectAdd to Group...
- Click on the Add button to select your service account.
- Click on the OK button when done.
http://praphullaparab.wordpress.com/2011/03/23/first-look-at-microsoft-dynamics-crm-2011-installation/
Action Microsoft.Crm.Setup.Server.GrantConfigDBDatabaseAccessAction failed.
---------------------------
Microsoft Dynamics CRM Setup
---------------------------
Action Microsoft.Crm.Setup.Server.GrantConfigDBDatabaseAccessAction failed.
Windows NT user or group 'domainname\SQLAccessGroup {a2d9c879-7ee6-48da-90f9-b5370f83a4b9}' not found. Check the name again.
---------------------------
Retry Cancel
---------------------------
Resoultion: Make sure sql managment studio is closed on all machines.
http://weblogs.asp.net/pabloperalta/archive/2011/09/01/microsoft-crm-setup-server-grantconfigdbdatabaseaccessaction-failed-windows-nt-user-or-group-mydomain-sqlaccessgroup-not-found-check-the-name-again.aspx
Friday, 25 November 2011
CRM 2011, when viewing report it is giving error message
We have done the installation of CRM and installed crm reporting extensions and rollup in this case roll up 4 on SSRS machine, after this done when tried to view built in CRM reports, I got reporting error message, in Event Viewer the error description is
Web service request SetDataSourceCredentials to Report Server http://crmserver/ReportServer failed with SoapException. Error: An error has occurred during report processing. (rsProcessingAborted)
The resolution was quite simple: SQL Reporting services require restart after installation of crm reporting extensions.
Web service request SetDataSourceCredentials to Report Server http://crmserver/ReportServer failed with SoapException. Error: An error has occurred during report processing. (rsProcessingAborted)
The resolution was quite simple: SQL Reporting services require restart after installation of crm reporting extensions.
Thursday, 24 November 2011
INSTALLING CRM 2011 ON-PREMISE AND MIGRATING FROM DYNAMICS CRM 4.0 (32 BITS, ON-PREMISE)
Friday, 18 November 2011
Open the url in a new window
In order to open the window in new browser, rather then in a tab of already opened browser, use nomerge argument
Process objProcess = Process.Start("IEXPLORE.EXE", "-nomerge http://google.com/");
Thursday, 10 November 2011
Url Encode/Decode
System.Web.HtmlUtility.Encode("http:\\www.yahoo.com\main.aspx?audit%20history")
output
http:\\www.yahoo.com\main.asp?audit history
output
http:\\www.yahoo.com\main.asp?audit history
Wednesday, 9 November 2011
Step by Step for CRM 2011 plugin
1. Create a class library project,
Make sure the Target framework is set to ".Net Framework 4"
2. Sign the assembly by going to project properties and selecting Signing tab, and selecting check box "Sign the assembly", select new and enter name.
3. Add following references
microsoft.crm.sdk.proxy
microsoft.xrm.sdk
4. Add the following namespace to plugin class
using Microsoft.Xrm.Sdk
5. Implement IPlugin interface so it look like e.g
public class MyPlugin :IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
}
}
6. Build the project and copy and paste the plugin dll and pdb file to
C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
7. Open Plugin registration tool, Click on register assembly and select the assembly from the above mentioned location
Select location as Disk
8.Register new step by selecting the assembly in the plugin registration
Message: Update
Primary Entity:contact
Secondary Entity:none
Eventing Pipeline Stage of Execution: Pre-operation (CRM 2011 Only)
Execution Mode: Synchronous
Deployment: Server
9. In the visual studion, go to process and select attach to process, and select the w3wp process, and add the break point with in execute method.
10. update a contact record. The code break point will hit to debug.
Registering PreImage in plugin
Select Organisation in Plugin registeration tool, and select step and then select register Image,
Entity ent= (Entity)context.PreEntityImages["incident"];
if (ent.Attributes.Contains("attributename"))
{
string attrValue = (string)ent.Attributes["attributename"];
}
http://crmconsultancy.wordpress.com/2010/10/25/plugins-in-crm-2011/
Make sure the Target framework is set to ".Net Framework 4"
2. Sign the assembly by going to project properties and selecting Signing tab, and selecting check box "Sign the assembly", select new and enter name.
3. Add following references
microsoft.crm.sdk.proxy
microsoft.xrm.sdk
4. Add the following namespace to plugin class
using Microsoft.Xrm.Sdk
5. Implement IPlugin interface so it look like e.g
public class MyPlugin :IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
}
}
6. Build the project and copy and paste the plugin dll and pdb file to
C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
7. Open Plugin registration tool, Click on register assembly and select the assembly from the above mentioned location
Select location as Disk
8.Register new step by selecting the assembly in the plugin registration
Message: Update
Primary Entity:contact
Secondary Entity:none
Eventing Pipeline Stage of Execution: Pre-operation (CRM 2011 Only)
Execution Mode: Synchronous
Deployment: Server
9. In the visual studion, go to process and select attach to process, and select the w3wp process, and add the break point with in execute method.
10. update a contact record. The code break point will hit to debug.
Registering PreImage in plugin
Select Organisation in Plugin registeration tool, and select step and then select register Image,
Entity ent= (Entity)context.PreEntityImages["incident"];
if (ent.Attributes.Contains("attributename"))
{
string attrValue = (string)ent.Attributes["attributename"];
}
http://crmconsultancy.wordpress.com/2010/10/25/plugins-in-crm-2011/
Tuesday, 8 November 2011
OData
1. include jquery, and jso library
/////////////////
To hide a field use
Xrm.Page.getControl("attributename").setVisible(true);
if it doesn't work then use
document.getElementById("attributename_c").style.display = "inline/none";
document.getElementById("attributename_d").style.display= "inline/none";
use inline to show, and none to hide the field
////////////////
To change the required field level use
Xrm.Page.getAttribute("to").setRequiredLevel("required");
valid values are none, required and recommended
///////
function UpdateActivity()
{
var CRMObject = new Object();
CRMObject.proprtyname = value;
updateRecord(guid, CRMObject, "EntityNameSet", null, null)
}
Friday, 4 November 2011
Custom ribbon button is disabled after importing solution of customisation
Custom ribbon button is disabled, when imported solution.zip file of solution, everything is fine but buttons shown are disabled,
Resolution: reset iis and re-import customizations
Resolution: reset iis and re-import customizations
Show dialog on custom ribbon button
Created a custom ribbon button on case entity and on click of button show a dialog. on completion of dialog refresh entity form.
....
<CustomAction Id="NewCancel" Location="Mscrm.Form.incident.MainTab.Actions.Controls._children">
<CommandUIDefinition>
<Button Id="NewCancelButton" ToolTipTitle="$Resources:Ribbon.Form.incident.MainTab.Actions.Cancel" ToolTipDescription="$Resources:Ribbon.Tooltip.CancelCase" Command=AbandonCase" Sequence="6" Alt="$Resources:Ribbon.Form.incident.MainTab.Actions.Cancel" LabelText="Abandon Case" Image16by16="/_imgs/ribbon/CaseCancel_16.png" Image32by32="/_imgs/ribbon/CancelIncident32.png" TemplateAlias="o1" />
</CommandUIDefinition>
</CustomAction>
....
<CommandDefinition Id="AbandonCase">
<EnableRules>
<EnableRule Id="IsExisting" />
</EnableRules>
<DisplayRules />
<Actions>
<JavaScriptFunction FunctionName="AbandonCase" Library="$webresource:new_incident.js" />
</Actions>
</CommandDefinition>
then created a javascript function to show dialog when user click on the custom button
AbandonCase = function () {
window.showModalDialog(OrganisationPath + "/cs/dialog/rundialog.aspx?DialogId=" + AbandonCaseDialog + "&EntityName=incident&ObjectId=" + Xrm.Page.data.entity.getId());
refreshEntityForm();
}
refreshEntityForm = function()
{
//used mainly from ribbon buttons
if (Xrm.Page.data.entity.getIsDirty())
{
// Save form - causes reload
Xrm.Page.data.entity.save();
}
else
{
// Reload form.
window.location.reload(true);
}
}
Thursday, 3 November 2011
CRM 2011 Form Navigation
In CRM 2011 User can create multiple form for same entity which is explained here
http://www.youtube.com/watch?v=JW1LooWhNqc
Once multiple forms have been created, In customization select the appropriate entity form and click on assign role for selected form. This will allow user having the given permission to view form will able to see specific forms created.
There are scenarios when a user has permissions to view multiple forms of same entity but we want to show a form depending on some value on the entity attribute. This is well explained http://www.avanadeblog.com/xrm/2011/06/crm-2011-form-navigation.html link.
http://www.youtube.com/watch?v=JW1LooWhNqc
Once multiple forms have been created, In customization select the appropriate entity form and click on assign role for selected form. This will allow user having the given permission to view form will able to see specific forms created.
There are scenarios when a user has permissions to view multiple forms of same entity but we want to show a form depending on some value on the entity attribute. This is well explained http://www.avanadeblog.com/xrm/2011/06/crm-2011-form-navigation.html link.
Labels:
multi form,
security for multiform
Location:
Hallam St, Westminster, London W1, UK
Populating field value with the value selected from model dialog
On my Entity form, I created a on field change event and in javascript i am opening a model dialog window, and when user make some selection from it, I return that value back to Entity form.
Entity form
function ValueChanges()
{
var selectedvalue = window.showModalDialog("htm web resource url", arguments);
}
on htm web-resource
var receivedarugments = window.dialogArguments;
//take some decision and show values to user, and when user selects a value call selectedValue function
function selectedValue()
{
window.returnValue = "selected value";
window.close();
}
Entity form
function ValueChanges()
{
var selectedvalue = window.showModalDialog("htm web resource url", arguments);
}
on htm web-resource
var receivedarugments = window.dialogArguments;
//take some decision and show values to user, and when user selects a value call selectedValue function
function selectedValue()
{
window.returnValue = "selected value";
window.close();
}
Can not update fields on workflow
Issuee: When writing a workflow, and adding a step to update record, Some of field are not editable.
Reason: These fields are been marked as readonly
Resolution: Go to customizations, change fields to editable which need updating from workflow, update workflow, and then go back to customization and set the fields back to read only.
Reason: These fields are been marked as readonly
Resolution: Go to customizations, change fields to editable which need updating from workflow, update workflow, and then go back to customization and set the fields back to read only.
Wednesday, 2 November 2011
Monday, 31 October 2011
Record is Unavailable
When importing an organisation, getting "Record is unavailable" error message.
When looked into error log, it was saying don't have sufficient permission/previlage to view this record.
Resolution applied was simple: iisreset
Reason: Still don't know :(
When looked into error log, it was saying don't have sufficient permission/previlage to view this record.
Resolution applied was simple: iisreset
Reason: Still don't know :(
Wednesday, 26 October 2011
Early bound types, crmsvcutil
To generate early bound types in CRM
C:\\CRM-SDK\bin>crmsvcutil.exe /url:http://crm-srv-20
11:5555/orgname/xrmservices/2011/organization.svc /out:XrmEntities.cs /username:admi
nistrator /password:pass@word1 /domain:crm2011 /namespace:Company.Crm.Entities /serviceContextName:XrmEntities
Sunday, 23 October 2011
SingleOrDefault is throwing exception with message "Sequence contains more than one element"
When executing following linq with SingleOrDefault option I get following message
"Sequence contains more than one element"
Reason: only succeed when the collections contains exactly 0 or 1 element
Resolution: use FirstOrDefault as it will return first instance
http://stackoverflow.com/questions/1256757/sequence-contains-more-than-one-element
"Sequence contains more than one element"
Reason: only succeed when the collections contains exactly 0 or 1 element
Resolution: use FirstOrDefault as it will return first instance
http://stackoverflow.com/questions/1256757/sequence-contains-more-than-one-element
Access to webservice .disco is denied
When trying to update webservice after chaning the address shows following message
Access to the path 'C:\.....disco' is denied.
To resolve, verify webservice authentication level is set to anonymouse in IIS manager, and then open the location and give permission to everyone.
Note: the above is for development purpose only
Thursday, 20 October 2011
Friday, 14 October 2011
Errors occurs on Case/Incident and lead audit history
In CRM 2011 when user clicks on audit history, its shows error message, this is due to Date Time auditing issue, CRM Roll up 4 has a fix for it.
http://support.microsoft.com/kb/2556167
http://social.microsoft.com/Forums/en-IN/crm/thread/2db3a9ee-ad23-4886-afcd-fa1b18802205
http://support.microsoft.com/kb/2556167
http://social.microsoft.com/Forums/en-IN/crm/thread/2db3a9ee-ad23-4886-afcd-fa1b18802205
Tuesday, 11 October 2011
Sunday, 9 October 2011
Installing ActiveX using installer
In the installer project in the FileSystem View add the activex project's primary output, and set property "Register" to "vsdrpCOM", doing this ensures the installers installs and removes the ActiveX control from the system.
If using in JavaScript and ActiveX control is not initializing then go to security setting and click customise and update "initialize and script activex controls not marked as safe for scripting" from disable to "enable (not secure)",
Note: this is not the recommended setting, only provide here for development purpose only, not for deployment scenario.
To implement an activex control which is safe to execute see following post
http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/03/net-2-0-activex-control-gotchas-safe-for-scripting-and-hooking-into-events.aspx
To implement an activex control which is safe to execute see following post
http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/03/net-2-0-activex-control-gotchas-safe-for-scripting-and-hooking-into-events.aspx
Wednesday, 5 October 2011
Monday, 3 October 2011
Https website losing the selected certifictate setting.
I have configured a website and assigned it to a SSL certificate, site works fine, but after some time the site looses the certificate. in order to resolve use
Return to IIS and you will now see that your sites have a HTTPS binding with a host header and the SSL certificate that was specified for your Default Web Site is selected, and it is also bound using your wildcard SSL.
Configuring your wildcard to cover additional host headers (subdomains) on your server.
Once you have this configured you then need to run the following command (found in C:\Windows\System32\Inetsrv\) for each site you want to secure (IE: Site1.yourdomain.com, Site2.yourdomain.com, etc):
appcmd set site /site.name:"<SiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<HostHeader>']
Replace <SiteName> with your name of your site (IE: MyWebsite2), and replace <HostHeader> with your sub domain (IE: site1.mydomain.com)
Return to IIS and you will now see that your sites have a HTTPS binding with a host header and the SSL certificate that was specified for your Default Web Site is selected, and it is also bound using your wildcard SSL.
One last point to make here is that if you try to edit this binding IIS will delete the host header and change the SSL certificate back to ‘Not Selected’. If this happens you will need to delete the binding and re-run the command line to add it again.
Following lines are taken from http://www.networksolutions.com/support/wildcard-ssl-instructions/
Thursday, 29 September 2011
Good to have Utilities during development and deployments
Stunnware for CRM QueryBuilder
http://www.stunnware.com/default.aspx?area=products&group=swtools4
also check http://arvindcsit.wordpress.com/sitemap/ for other crm tools
Fiddler to check exchange of web-request and responses
http://www.fiddler2.com/fiddler/version.asp
Microsoft SQL Server 2008 R2 Report Builder 3.0
To create custom reports for MS CRM 2011
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6116
Cross Loop Download
For screen sharing and taking control of other user's desktop
https://www.crossloop.com/download.htm?affid=xl&src=global_header_download_link
AgentRansack
To search through the folders and sub-folders for a file or some text within files
http://www.download3k.com/Install-Agent-Ransack.html
TreeSize
To check the size of folder and subfolders, good for quickly finding a folder which is taking most of the disk space.
http://www.jam-software.com/treesize_free/
Orca: Use this to update installer's properties
http://www.technipages.com/download-orca-msi-editor.html
To check if there is a dependency missing
http://www.dependencywalker.com/
NetWrix Password Expiration Notifier: Check password expiration on AD and sends an email to users
http://www.netwrix.com/download.html?item=FCA513AE-445A-4a7b-B990-BF1525721769
SiteMap Editor
http://sitemapeditor.codeplex.com/releases/view/87898
Virtual CloneDrive: for using cd images
http://www.softpedia.com/get/CD-DVD-Tools/Virtual-CD-DVD-Rom/Virtual-CloneDrive.shtml
Beyond Compare: to compare folders and files
http://www.scootersoftware.com/download.php
CRM 2011 Customization Comparer
http://crmcustomcompare.codeplex.com/
DebugView
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
CRM Many to Many Import export
http://crmmanytomany.codeplex.com/
Assembly decompiler (Free)
http://www.telerik.com/products/decompiler.aspx?gclid=CNLOreio_rQCFTDMtAodyngArw
UML tool
http://www.visual-paradigm.com/download/vpuml.jsp
SMTP
https://smtp4dev.codeplex.com/
Camtasia (video recording tool)
http://www.techsmith.com/camtasia.html?gclid=CjwKEAiA3IKmBRDFx-P_rLyt6QUSJACqiAN8LMs0Dsz3ZPZ4zsL_Kb6DKMSMWEv1clO72oHwN5HOBxoCxK7w_wcB
Anti-Malware products removal tools
http://answers.microsoft.com/en-us/protect/wiki/mse-protect_start/list-of-anti-malware-product-removal-tools/2bcb53f7-7ab4-4ef9-ab3a-6aebfa322f75
Fix it
https://support.microsoft.com/en-us/mats/program_install_and_uninstall?wa=wsignin1.0
Disassembler
Dot Peek (used it found it good and its free)
https://www.jetbrains.com/decompiler/
Good but not free trial available though
http://www.red-gate.com/products/dotnet-development/reflector/
ILSpy (free)
http://www.red-gate.com/products/dotnet-development/reflector/
Bit Differ (free) to compare two assemblies to find the difference
http://www.bitwidgets.com/
http://www.stunnware.com/default.aspx?area=products&group=swtools4
also check http://arvindcsit.wordpress.com/sitemap/ for other crm tools
Fiddler to check exchange of web-request and responses
http://www.fiddler2.com/fiddler/version.asp
Microsoft SQL Server 2008 R2 Report Builder 3.0
To create custom reports for MS CRM 2011
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6116
Cross Loop Download
For screen sharing and taking control of other user's desktop
https://www.crossloop.com/download.htm?affid=xl&src=global_header_download_link
AgentRansack
To search through the folders and sub-folders for a file or some text within files
http://www.download3k.com/Install-Agent-Ransack.html
TreeSize
To check the size of folder and subfolders, good for quickly finding a folder which is taking most of the disk space.
http://www.jam-software.com/treesize_free/
Orca: Use this to update installer's properties
http://www.technipages.com/download-orca-msi-editor.html
To check if there is a dependency missing
http://www.dependencywalker.com/
NetWrix Password Expiration Notifier: Check password expiration on AD and sends an email to users
http://www.netwrix.com/download.html?item=FCA513AE-445A-4a7b-B990-BF1525721769
SiteMap Editor
http://sitemapeditor.codeplex.com/releases/view/87898
Virtual CloneDrive: for using cd images
http://www.softpedia.com/get/CD-DVD-Tools/Virtual-CD-DVD-Rom/Virtual-CloneDrive.shtml
Beyond Compare: to compare folders and files
http://www.scootersoftware.com/download.php
CRM 2011 Customization Comparer
http://crmcustomcompare.codeplex.com/
DebugView
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
CRM Many to Many Import export
http://crmmanytomany.codeplex.com/
Assembly decompiler (Free)
http://www.telerik.com/products/decompiler.aspx?gclid=CNLOreio_rQCFTDMtAodyngArw
UML tool
http://www.visual-paradigm.com/download/vpuml.jsp
SMTP
https://smtp4dev.codeplex.com/
Camtasia (video recording tool)
http://www.techsmith.com/camtasia.html?gclid=CjwKEAiA3IKmBRDFx-P_rLyt6QUSJACqiAN8LMs0Dsz3ZPZ4zsL_Kb6DKMSMWEv1clO72oHwN5HOBxoCxK7w_wcB
Anti-Malware products removal tools
http://answers.microsoft.com/en-us/protect/wiki/mse-protect_start/list-of-anti-malware-product-removal-tools/2bcb53f7-7ab4-4ef9-ab3a-6aebfa322f75
Fix it
https://support.microsoft.com/en-us/mats/program_install_and_uninstall?wa=wsignin1.0
Disassembler
Dot Peek (used it found it good and its free)
https://www.jetbrains.com/decompiler/
Good but not free trial available though
http://www.red-gate.com/products/dotnet-development/reflector/
ILSpy (free)
http://www.red-gate.com/products/dotnet-development/reflector/
Bit Differ (free) to compare two assemblies to find the difference
http://www.bitwidgets.com/
Monday, 26 September 2011
Install new version of .net framework sdk to run gacutil
if following message is shown when running gacutil
"this assembly is built by a runtime newer than the currently loaded runtime"
This mean Gac utillity verion being installed on machine is older then the version the assembly being built in my case assembly was of .net framework 4.0,
Solution:
Install the latest version of .net framework sdk.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
use following path to run the gac
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools
execute the following command
gacutil -i "c:\assemble.dll"
the gac folder path is
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\
to list all the assemblies in the gac
gacutil -l
to list all the assemblies in the gac into a file
gacutil -l > "c:\assembliesfile.txt"
to look for a specfic assembly in the gac
gactuil -l "assemblyname.dll"
.Net 4 gac path "%windir%\Microsoft.NET\assembly\"
.Net2 gac path "%windir%\assembly\GAC_MSIL"
to find the public token key
"this assembly is built by a runtime newer than the currently loaded runtime"
This mean Gac utillity verion being installed on machine is older then the version the assembly being built in my case assembly was of .net framework 4.0,
Solution:
Install the latest version of .net framework sdk.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
use following path to run the gac
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools
execute the following command
gacutil -i "c:\assemble.dll"
the gac folder path is
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\
to list all the assemblies in the gac
gacutil -l
to list all the assemblies in the gac into a file
gacutil -l > "c:\assembliesfile.txt"
to look for a specfic assembly in the gac
gactuil -l "assemblyname.dll"
.Net 4 gac path "%windir%\Microsoft.NET\assembly\"
.Net2 gac path "%windir%\assembly\GAC_MSIL"
to find the public token key
sn -T EdmGen.exe
Public key token is c11d6c2346788e890
Saturday, 24 September 2011
CRM 2011, using IFD organisation service from code
IFD organisation
url = @"https://org.domain.com/XrmServices/2011/Organization.svc";
username = @"domain\username";
password = "pass123";
ClientCredentials credentials = new ClientCredentials();
credentials.UserName.UserName = username;
credentials.UserName.Password = password;
Uri organizationUri = new Uri(url);
Uri homeRealmUri = null;
OrganizationServiceProxy orgService = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
OrganizatinoResponse response = orgService.Execute(new WhoAmIRequest());
orgService.Dispose();
url = @"https://org.domain.com/XrmServices/2011/Organization.svc";
username = @"domain\username";
password = "pass123";
ClientCredentials credentials = new ClientCredentials();
credentials.UserName.UserName = username;
credentials.UserName.Password = password;
Uri organizationUri = new Uri(url);
Uri homeRealmUri = null;
OrganizationServiceProxy orgService = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
OrganizatinoResponse response = orgService.Execute(new WhoAmIRequest());
orgService.Dispose();
Location:
Wolverhampton, West Midlands WV3 7AN, UK
Registering Http module in CRM 2011
We had a requirement of showing Terms and Condition page for the first time logged in users of IFD CRM.
We created a http module and registered a webresource as a T & C page.
To build http module.
Create a class library project
add the assembly of System.Web, and Implement the interface IHttpModule
Sign the assembly, by going to project properties and selecting signing tab, and then select sign the assembly,
We created a http module and registered a webresource as a T & C page.
To build http module.
Create a class library project
add the assembly of System.Web, and Implement the interface IHttpModule
Sign the assembly, by going to project properties and selecting signing tab, and then select sign the assembly,
Then enter following command and replace <<dll name>> with the acutall dll generated.
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\sn.exe -Tp <<dll name>>
http://www.crmexper.com/?p=82
Paste the http module dll into the following folder
C:\Program Files\Microsoft Dynamics CRM\CRMWeb\bin
Open the web.config file present at following folder
C:\Program Files\microsoft CRM\CRMWeb
and add the following line where other http modules are already present
<add name="TNC" type="NS.TandCModule, TandC Http Module, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d4bbd2a97381a7c1" />
Here,
name is any unique httpmodule value
NS.TandCModule basically represent the fully qualified namespace and class name
TandC Http Module, is the dll/assembly name which I copied into bin folder
Version=1.0.0.0, is the version of dll which can be checked by going to project properties->assembly and then pressing the Assembly information button.
PublicKeyToken is the value which is shown when used the sn.exe command
There is no need to restart IIS for website to pick the HTTP module.
Paste the http module dll into the following folder
C:\Program Files\Microsoft Dynamics CRM\CRMWeb\bin
Open the web.config file present at following folder
C:\Program Files\microsoft CRM\CRMWeb
and add the following line where other http modules are already present
<add name="TNC" type="NS.TandCModule, TandC Http Module, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d4bbd2a97381a7c1" />
Here,
name is any unique httpmodule value
NS.TandCModule basically represent the fully qualified namespace and class name
TandC Http Module, is the dll/assembly name which I copied into bin folder
Version=1.0.0.0, is the version of dll which can be checked by going to project properties->assembly and then pressing the Assembly information button.
PublicKeyToken is the value which is shown when used the sn.exe command
There is no need to restart IIS for website to pick the HTTP module.
Location:
Wolverhampton, West Midlands WV3 7AN, UK
Thursday, 22 September 2011
Troubleshooting IFD crm2011
-----
If the message says "You are trying to create a new user which does not exists in ... domain", then reset dns setting on front end server (where CRM front end is installed).
run command line and enter following lines and wait for at least couple for changes to take effect.
ipconfig /flushdns
ipconfig /registerdns
check if crm is showing pages normally, if some of the pages/ icons are not showing, reset IIS
--
if showing IFD login screen and after login shows error message with some reference number being shown by ADFS service, then open ADFS configuration manager, UPDATE relying party trust record.
--
if backend ADFS machine is restarted then wait for at least 10 mins for adfs to load all the changes. there will be some error initially in event viewer about domain not found.
--
If the message says "You are trying to create a new user which does not exists in ... domain", then reset dns setting on front end server (where CRM front end is installed).
run command line and enter following lines and wait for at least couple for changes to take effect.
ipconfig /flushdns
ipconfig /registerdns
check if crm is showing pages normally, if some of the pages/ icons are not showing, reset IIS
--
if showing IFD login screen and after login shows error message with some reference number being shown by ADFS service, then open ADFS configuration manager, UPDATE relying party trust record.
--
if backend ADFS machine is restarted then wait for at least 10 mins for adfs to load all the changes. there will be some error initially in event viewer about domain not found.
--
Wednesday, 21 September 2011
Importing large solutions in CRM 2011 failes
I created a solution in my local envirnoment and when trying to import it into to production envirnoment. The import screen shows some progress initially then it hangs the screen, and in event viewer there are lots of messages of query time out.
To overcome this issue follow this url, though its written for crm 4 but works for crm 2011 as its a sql time out issue, I applied both of the methods mentioned in the link, and it worked fine.
http://support.microsoft.com/kb/918609
To overcome this issue follow this url, though its written for crm 4 but works for crm 2011 as its a sql time out issue, I applied both of the methods mentioned in the link, and it worked fine.
http://support.microsoft.com/kb/918609
ADFS Error
Issue occurs when using self-signed or domain issued certificate, Resolution is to use the powershell command for AD FS 2.0 to configure the revocation settings for the EncryptionCertificateRevocationCheck.
PS C:\Users\administrator.VSC> add-pssnapin microsoft.adfs.powershell
PS C:\Users\administrator.VSC> SEt-ADFSRelyingPartyTrust -TargetName auth.vsc.com -EncryptionCertificateRevocationCheck
None
Subscribe to:
Posts (Atom)