application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID

“Your Credentials are not valid or no such user exists in Microsoft Dynamics CRM. Sign in with correct credentials or contact your CRM Administrator.”

I got this error when configuring the CRMListWebPart on SharePoint. After this I checked the event viewers to troubleshoot the problem and I found that:

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{61738644-F196-11D0-9953-00C04FD919C1}
 to the user NT AUTHORITYNETWORK SERVICE SID (S-1-5-20) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
Log Name:      System
Source:        Microsoft-Windows-DistributedCOM
Date:          8/16/2012 7:21:09 PM
Event ID:      10016
Task Category: None
Level:         Error
Keywords:      Classic
User:          NETWORK SERVICE
Computer:      WIN.com
Description:
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{61738644-F196-11D0-9953-00C04FD919C1}
to the user NT AUTHORITYNETWORK SERVICE SID (S-1-5-20) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
Event Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”&gt;
<System>
<Provider Name=”Microsoft-Windows-DistributedCOM” Guid=”{1B562E86-B7AA-4131-BADC-B6F3A001407E}” EventSourceName=”DCOM” />
<EventID Qualifiers=”49152″>10016</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”2012-08-16T23:21:09.000Z” />
<EventRecordID>335191</EventRecordID>
<Correlation />
<Execution ProcessID=”0″ ThreadID=”0″ />
<Channel>System</Channel>
<Computer>WIN.com</Computer>
<Security UserID=”S-1-5-20″ />
</System>
<EventData>
<Data Name=”param1″>application-specific</Data>
<Data Name=”param2″>Local</Data>
<Data Name=”param3″>Activation</Data>
<Data Name=”param4″>{61738644-F196-11D0-9953-00C04FD919C1}</Data>
<Data Name=”param5″>NT AUTHORITY</Data>
<Data Name=”param6″>NETWORK SERVICE</Data>
<Data Name=”param7″>S-1-5-20</Data>
<Data Name=”param8″>LocalHost (Using LRPC)</Data>
</EventData>
</Event>

Then I search the COM components by using the ID : {61738644-F196-11D0-9953-00C04FD919C1}

I found {61738644-F196-11D0-9953-00C04FD919C1} to be IIS WAMREG Admin Service as I suspected (no harm in verifying the ID in regedit!).

Then Next, I opened the Component Services Snap-In (Start >  Run > comexp.msc) and drilled down through Component Services > Computers > My Computer > DCOM Config > IIS WAMREG Admin Service ….


Right click on IIS WAMREG Admin Service and on the Security tab click Edit in the Launch and Activation  Permissions section.
Grant the account referenced in the event log (mine is WinAdministrator) the following permissions:
Allow: Local Launch
Allow: Local Activation

Search for {61738644-F196-11D0-9953-00C04FD919C1} in REGEDIT, then right click and modify the permissions.

BizTalk 2K6 R2 To BizTalk 2K9 Upgrade

A couple of good blog posts on the upgrade process.

http://www.modhul.com/2009/01/04/upgrading-biztalk-server-2006-r2-to-biztalk-server-2009/

And

http://www.modhul.com/2009/04/11/biztalk-2009-rtm-upgrade-gotchas-tracking-data/

Web service request GetDataSources to Report Server http://CRMServer/ReportServer failed with SoapException

When you run a simple report on CRM 4.0 server,  if its throwing the below error and says that in event viewer:

Report Error: The report cannot be displayed.

and back in event properties, it shows the below message: I’m the Admin on CRM server, SSRS server and SQL Server server and I choose the ‘password never expires’ option.

Please let me know.

Event Type:    Error
Event Source:    MSCRMReporting
Event Category:    None
Event ID:    19969
Date:        9/13/2011
Time:        8:59:02 AM
User:        N/A
Computer:    CRMServer
Description:
Web service request GetDataSources to Report Server http://CRMServer/ReportServer failed with SoapException. Error: Logon failed. (rsLogonFailed)

Answers Check Points:

Check Point 1:

Please republish the reports in CRM server by using a command-line program. by using the path

C:Program FilesMicrosoft Dynamics CRM and then to Tools. Within this folder run the following command:

C:Program FilesMicrosoft Dynamics CRMTools> PublishReports “organizationname”

where organization name is the internal name of the CRM organization (as found in Deployment Manager).

Check Point 2:

Check whether the server has installed with latest rollup or not, and make sure to install the Latest SRS Data Connector on the server.

Check Point 3:

if there are two data sources for the SSRS and MS CRM server. follow the below link

http://community.dynamics.com/product/crm/crmtechnical/b/crmdavidjennaway/archive/2010/08/05/the-crm-4-0-reporting-services-connector-how-it-works.aspx

Check Point 4:

you can diagnose the connection errors by using the CRM Diag tool

http://blogs.msdn.com/b/benlec/archive/2008/03/04/crmdiagtool4-for-microsoft-crm-4-0-has-been-released.aspx

Check Point 5:

check whether the Report Server has configured by using the Network Admin Account.

Check Point 6:

Please follow the below link to configure SRS Data connector

http://community.dynamics.com/product/crm/crmtechnical/b/crmdavidjennaway/archive/2010/08/05/the-crm-4-0-reporting-services-connector-how-it-works.aspx

To avoid the IISRESET When Debuging the PlugIn Code

Its very painful each time when we do IISRESET for even small change occurs in the dll code.

to avoid the IISRESET (to avoid interruptions to other developers team), please follow the below steps, (It is unsupported method, please read the ‘note’ from the About Me page.)

Step 1: Run the Visual Studio plugIn code. Copy the DLL and PDB files.

Step 2: Close all the MS CRM IE browser windows.

Step 3: Kill the W3WP.exe Process from the Task Manager.

Step 4: Paste the Dlls and PDB file into the MS CRM hive folder (Server/Bin/Assembly/).

Step 5: Register the DLLs using the PlugIn Registration Tool as Disk deployment (after successful debug we can register the dll  as Database deployment)

Step 6: Finally start your debug with your updated code.

MS CRM 4.0 for Filtered Lookups

Filtered Lookup is to display the related entities information when you click the Lookup button on the form, you can achieve this in 4 methods in MS CRM 4.0. Filtered Lookups are available in Ms CRM 5.0/2011

  1. Using JS Code

http://advantageworks.blogspot.com/2008/02/pseudo-filtered-lookup-dialog-in.html

  1. Change lookupsingle.aspx page

http://crm.georged.id.au/post/2008/02/16/Filtering-lookup-data-in-CRM-4.aspx

  1. Writing plugin.

http://mscrmfilteredlookup.codeplex.com/

  1. Buy stunware filtered lookup tool

http://www.stunnware.com/default.aspx?area=products&group=fld4&subarea=fld4-download

Why Its Important to Register your PlugIns in Database Instead of Disk/GAC

This Post Explains the why we need to store the PlugIn/Assembly in Database otherthan GAC/Disk.

1.Zero service interruption to update a database assembly:

If you register your assembly on disk or GAC and you would like to update it, you might be aware that even after the file is overwritten, the changes will not take effect until you do an “iisreset” which will cause down-time to your organization. Additionally, you must consider whether the plugin is asynchronous in which case you must also restart the CRM Asynchronous Processing service. Besides the down-time, there are also a number of manual steps to restart the services that you would probably want to avoid. If you register on database, all you need to do is click on “update” using the Plugin Registration Tool and update the assembly content.

This is indeed just as fast (if not faster) than drag-drop-replace but you won’t need to restart the services because the new assembly will take effect immediately after the update! The reason why you don’t need to restart the services is that the assembly loading routine from the bytes works different in .Net. When loading from GAC or disk, the assembly is loaded in the AppDomain as is never loaded again until the AppDomain or process is restarted. Note that if you plan to debug the assembly, you still need to copy the symbols to disk (symbols cannot go in database) and you can debug as usual.

2. Sandbox and CRM Online only support database assemblies:

If you have your assemblies registered on database, you could include them in a solution. Therefore, you can easily migrate to CRM Online by exporting/importing the solution and you can mark your assemblies as sandboxed. You would not be able to sandbox your assemblies for disk/GAC and you would not be able to package them to migrate to CRM Online.

3. All assemblies consolidated into a single place:

With database assemblies another good thing is that they are all stored in a single place: the database. You don’t need to worry about deploying dll’s to file and GAC in multiple servers. If your CRM deployment is spread out in different server roles for load balancing, then you don’t have to worry about which roles will need your assemblies and on what servers you must deploy which assemblies. It can be really cumbersome with disk/GAC assemblies as you can easily lose track for example of which plugins run asynchronous vs. synchronous so they must be deployed to the web and async servers respectively.

4.Disk assemblies will not support multiple versions:

In CRM 2011 there is support for assembly versioning so you can have multiple versions of a given assembly coexisting in the system. For example, the workflow designer lets you select which version of a particular assembly for a custom workflow activity you would like to use:


Because both versions of the assemblies would have the same filename then you cannot register them simultaneously on disk.

5. Simplified organization backup / import:
If your plugins are registered on disk/GAC then backing up the organization database will not be enough. You will need to also backup all the custom assemblies you might have in the GAC or in disk. When you import the organization then you must also remember to copy those dll’s back into the new server(s). However, if you use database assemblies you only need the database backup and forget about tracking down these custom assemblies in order to restore your organization.

6. Only database assemblies can be packaged in solutions:

Solutions are the future of CRM and Microsoft is not supporting packaging disk/GAC assemblies in solutions. Such statement almost suggests that GAC and disk are legacy registration modes, and moving forward only database should be used. Take advantage of being able to export, transport and import your plugin in a solution by registering it on database.

Tips for PMP Exam Success

The PMP Certification Exam is a 4-hour exam with multiple choice questions with 4 possible answers. In these 4 hours, you have to answer 200 questions. Each question is either scenario based or knowledge based and has 4 possible answers – A, B, C or D. You can only select one answer.

Out of these 200 questions, there will be 25 questions that are considered ‘pretest questions’ that carry no marks and these questions do not affect your score. These pretest questions are placed randomly throughout the question paper. If you take out these 25 pretest questions, you are left with 175 question that carry marks/score. Out of these, you must answer 106 correctly to pass the exam. That is 61% is your effective passing score.

Here are some tips that may help you for preparing to take the exam

  • Take a look at the PMI website  for the latest information regarding certification and to find a testing site nearest you.
  • Make sure to locate your examination center much ahead of the exam time and get to the exam center early. Plan for the possible delays such as traffic, weather etc

Characteristics of Project Life Cycle

Project Life Cycle divides the project into phases that provide better management control and the appropriate links to the ongoing operations of the organization and defines the beginning and end of the project.

Some important characteristics of Project Life Cycle are:

  • Defines the beginning and end of the project.
  • Deliverables usually approved before work starts on the next phase.
  • Sometimes a subsequent phase is begun prior to approval of the previous phase. This is called fast tracking.
  • Defines technical work and implementers.
  • Cost and staffing levels are low at the start, higher towards the end, and drop as project closes.
  • Probability of project success is low at the start of the project and gets progressively higher as the project continues.
  • Cost of changes and of error correction generally increases as the project continues.

Unable to obtain DNS hostname of Active Directory domain controller with NTDSA object name

Below is the detail error message I got from CRM trace log.

System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException: Unable to obtain DNS hostname of Active Directory domain controller with ntdsa object name “CN=NTDS Settings, CN=[DOMAIN CONTROLLER], CN=Servers, CN=Default-First-Site-Name, CN=Sites, CN=Configuration, DC=[CRM SERVER], DC=[DOMAIN NAME], DC=org, DC=sg”.

Resolution:

When we unregistered a plug-in, CRM tried to query login user credential and role from AD. But Active Domain Controller information is pointed to Replicated AD which was no longer available at that moment. Then, plug-in registration process had assess right issue and we got “Server was unable to process request” error message.

** Remove unused Domain Controller from “Active Directory Sites and Services” will help your problem. OR

** The CRM server may confused if you use more than one Domain Controllers to your forest network, to assign DC to your CRM server, we need to go to the server registry entries by typing on the run menu Regedit and go to the following Registry section “HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSCRM” and make the following changes in this entries: 1. Right click on the screen choose Add Value as string and name it as “PreferredDc” and give the string value as “NameofDomainController”.( To get the domain controller, type the command in cmd prompt > echo %logonserver%).

2.Close the Registry and Run the CRM application installation.

If you got errors please let me know your queries.

All the best

Similarities and differences of Dynamics CRM Online versus Dynamics CRM 4.0 On Premise

Given that this was a POC, we focused on what we could do out of the box with all configuration and some java script. While the experience was very similar, there were some interesting differences.

Here were our top 10 initial findings:

  1. The set up process is now very easy.  Our client was up and running in about 5 minutes
  2. As the Administrator, you add users and then invite new users to join.  They need to set up or associate their Windows Live ID to CRM
  3. The new dashboards/charts on the New Home Page were very easy to configure and use (see screen shot above of one of the Home Pages)
  4. You can select the default entity and list view that you want to start with on your Home Page
  5. The Import Tool is improved.  We didn’t push it too hard but it has a few extra features like allowing you to add a field to CRM from the import tool instead of backing out, adding the field in the customizations area and starting the import over again
  6. Mobile Express was very easy to rollout since it is already configured and ready to use.  We just configured a few entities so they could get a sense for their mobile experience
  7. Pivot Table creation does not work unless you have the Outlook Client installed (because it is an Internet Facing Deployment).
  8. We were able to use Java Script to build out an iFrame to put Quote Products on the Quote form and to do a calculated field on the Forecast form
  9. We were not able to allow for a rollup calculation of fields on sub entities to total on the main entity (this can be accomplished with an external tool)
  10. Remember, no custom SRS except using the Report Wizard (the SRS reports load pretty fast though)

In summary, I think that CRM Online has a lot of promise and is definitely going to be a very popular choice in the CRM 5 timeframe.  I would estimate based on some initial research and a current price point for CRM Online at $44/user/month that there are about 10,000+ Salesforce.com customers out there that would either get the same or a better experience with CRM Online at about 1/2 to 2/3rds the cost.