You are on page 1of 16

Exam Name: CRM 4.

0 Extending Microsoft Dynamics


Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Question: 1
As an administrator of a network, you have to build some custom validation code which will force
Microsoft Dynamics CRM users to enter values in certain fields of an opportunity once its
CloseProbability field exceeds 50%. A message must be displayed when a user fails to enter
appropriate data and they are prevented from saving the opportunity. So what should you do to
ensure this? (Choose more than one)

A. You should use lient-side JScript


B. You should use a plug-in on a pre-event
C. You should use a plug-in on a post-event
D. You should use a custom workflow activity

Answer: A

Question: 2
You're in charge of your company network. There's a rule in your company which provides that
when a user creates or updates an account in Microsoft Dynamics CRM, corresponding data in a
custom application is to be added or updated with no latency. The custom application has a .NET
API that can be used to add or update data. You have to ensure that only data that is saved to
Microsoft Dynamics CRM is written to the custom application. So what extension approach is
most appropriate?

A. In a custom workflow activity.


B. Client-side JScript in the OnSave event.
C. In a plug-in that is registered on the pre-event.
D. In a plug-in that is registered on the post-event.

Answer: C

Question: 3
Look at the following extensibility features. Please choose the appropriate one which meets the
following two requirements: 1. It is available within the the Microsoft Dynamics CRM for Microsoft
Office Outlook with Offline Access. 2. It can be deployed as part of the synchronization process.
(Choose more than one)

A. Plug-ins
B. ASP.NET extensions
C. Custom workflow activities
D. Client script that accesses the crmForm object model

Answer: C

Question: 4
As an administrator of your company network, you've assigned a task that you have to design an
extension to Microsoft Dynamics CRM for a customer. If a sales person activates a quote and the
total discount exceeds a threshold, then the extension should create tasks for various people.
The logic for calculating this threshold is complex, and is dependent on data in several entities,
including the user, the account and the product entities. The customer wants the flexibility to
change the content and properties of the tasks that are created by the code. So what extension
approach is most appropriate?

A. Write a plug-in that checks whether the total discount exceeds the threshold, and if so creates
the tasks.
B. Use client-side JScript to check whether the discount exceeds the threshold. If it does, use
further client-side JScript to create the tasks.

Page 1 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

C. Create a custom workflow activity that returns a value identifying whether the total discount
exceeds the threshold.
D. Use client-side JScript to check whether the discount exceeds the threshold. If it does, set a
flag attribute in the quote record.

Answer: B

Question: 5
You are an adiministrator of your company network. You created and deployed a web application
which accesses Microsoft Dynamics CRM contact data through the CrmService Web service. The
application uses a Web reference for the CrmService Web service which was created within
Visual Studio and uses strongly typed MicrosoftDynamics CRM Classes. Subsequently two new
attributes have been added to the contact entity. And you want to use these new attributes in your
application. In order to make these new attributes available to your application, what should you
do?

A. You don't need to do anything else.


B. You should publish the contact entity within the Microsoft Dynamics CRM user interface.
C. Within the Visual Studio .Net project, update the Web reference to the CrmService Web
service.
D. In Visual Studio .Net, find the proxy code generated for the Web service. Add the new
attributes as properties of the contact class.

Answer: B

Question: 6
As an administrator of your company network. You've been assigned a task, you have to write an
application which uses the CrmService Web service to find an account based on its name
attribute. So what method should you use?

A. Retrieve method of the account class.


B. Retrieve method of the CrmService class.
C. RetrieveMultiple method of the account class.
D. RetrieveMultiple method of the CrmService class.

Answer: C

Question: 7
You're an administrator of your company network. Now you're creating custom Web pages that
extend Microsoft Dynamics CRM contact functionality, using the Microsoft Dynamics CRM Web
service. You want any changes made to the Microsoft Dynamics CRM entity and attribute display
names can be reflected by your Web pages. So what should you do to achieve this with as little
additional development work as possible?

A. Read the display names from the Microsoft Dynamics CRM Web service CrmService.
B. Read the display names from the Microsoft Dynamics CRM Web service MetadataService.
C. Store all text in a satellite .Net assembly. Create a separate copy of the satellite assembly for
each deployment with the relevant text.
D. Use .Net Reflection within your Web pages to determine the entity and attribute display names
at runtime from the WSDL generated by the Microsoft Dynamics

Answer: A

Question: 8

Page 2 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

You're an administrator of your company network. When using the CrmService Web service,
which method should you use to create a new lead in the Microsoft Dynamics CRM database?

A. Constructor of the lead class.


B. Create method of the lead class.
C. Constructor of the CrmService class.
D. Create method of the CrmService class.

Answer: C

Question: 9
You're an administrator of your company network. You want to use the CrmService Web service
to find all opportunities that have a CloseProbability greater than 50%. So what should you do to
achieve this?

A. Use the Retrieve method of the CrmService Web service.


B. Use the RetrieveMultiple method of the CrmService Web service, and pass a QueryExpression
parameter.
C. Use the RetrieveMultiple method of the CrmService Web service, and pass a QueryByAttribute
parameter.
D. Use the RetrieveMultiple method of the CrmService Web service, and pass a SQLCommand
parameter that queries the FilteredOpportunity view.

Answer: A

Question: 10
You're an administrator of your company network. Now you've been assigned a task. You have to
write an application that automatically disables a set of accounts. Which option should you use to
programmatically disable an account using the Microsoft Dynamics CRM Web service? (choose
more than one)

A. CrmService.Update method.
B. CrmService.SetState method.
C. Pass a SetStateAccountRequest to CrmService.Execute method.
D. Pass a SetStateDynamicEntityRequest to CrmService.Execute method.

Answer: B, C

Question: 11
You're an administrator of your company network. A block of .NET code has been written by you.
It calls methods of the CrmService Web service to delete Microsoft Dynamics CRM data, and
also performs some mathematical calculations. You plan to record any errors that occur with
meaningful error messages. So what Catch block or blocks of code do you need write?

A. One catch block to catch all exceptions of type Exception.


B. One catch block to catch all exceptions of type SoapException.
C. One catch block to catch all exceptions of type XmlException.
D. One catch block to catch all exceptions of type SoapException.

Answer: C

Question: 12
As an administrator of a network, you add a SubArea to the main navigation pane which links to a
Web page on the company Intranet, by this way the Microsoft Dynamics CRM user interface has
been extended. This works correctly, but when users of the Microsoft Dynamics CRM for

Page 3 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Microsoft Office Outlook with Offline Access try to use the link when they're not online, they
receive errors. Now you have to make the Web page available to users in as many circumstances
as possible and reducethe occurrence of errors within the client by the way of making supported
customizations. So what should you do to achieve this?

A. You should add the attribute AvailableOffline = "false" to the definition of the SubArea.
B. You should add the attribute Client = "OutlookWorkstationClient, Web" to the definition of the
SubArea.
C. You should make a copy of the Web page and add it to the root directory of the Microsoft CRM
Web application on the Microsoft Dynamics CRM server. Ask all
D. You should make a copy of the Web page and add it to the installation directory for the
Microsoft Dynamics CRM for Microsoft Office Outlook with Offline Access.

Answer: A

Question: 13
You're an administrator of your company network. You want to retrieve a list of Microsoft
Dynamics CRM 4.0 organizations within a Microsoft Dynamics CRM 4.0 deployment. So what
Web service should you use?

A. You should use CrmService.


B. You should use CrmAsyncService.
C. You should use MetadataService.
D. You should use CrmDiscoveryService.

Answer: C

Question: 14
You're an administrator of your company network. Now you've been assigned a task, you have to
create a utility application which can be run to add new values to an existing picklist on the
account entity. You know that other customizations may be made to the account entity, and you
have to make sure that your utility application will not overwrite any other account customizations.
So what should you do to achieve this?

A. In your utility, create instances of the InsertOptionValueRequest class


B. Execute method
C. In your utility, create instances of the InsertOptionValueRequest class
D. Execute method
E. Create the new picklist values in a development CRM environment.
F. Export the account entity customizations from the development CRM environment to an XML
file
G. Execute method

Answer: A

Question: 15
The account entity has a parent account attribute within the CrmService Web service, the
parentaccount attribute is used to identify which account record is the parent of a given account.
What Microsoft Dynamics CRM attribute type is the parentaccountid attribute?

A. Guid
B. Owner
C. Lookup
D. Picklist

Page 4 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Answer: B

Question: 16
There's a mechanism for finding all privileges held by a given user in the CrmService Web
service. You can obtain an array of type RolePrivilege with RetrieveUserPrivileges.This
mechanism is implemented the same way as all other entity-specific actions within the
CrmService Web service. Given the GUID of a user, how do you find his or her privileges?

A. Create an instance of the CrmService class.


Call the RetrieveUserPrivileges method of the CrmService class, passing the user's Guid as
a parameter.
Access the return value of the method.
B. Create an instance of the systemuser class.
Call the RetrieveUserPrivileges method of the systemuser class, passing the user's Guid as a
parameter.
Access the return value of the method.
C. Create an instance of the CrmService class.
Create an instance of the RetrieveUserPrivilegesRequest class.
Call the Execute method of the CrmService class, passing the RetrieveUserPrivilegesRequest
class and user's Guid as parameters.
Access the return value of the Execute method.
D. Create an instance of the CrmService class.
Create an instance of the RetrieveUserPrivilegesRequest class.
Set the UserId field of the systemuser class to the user's Guid.
Call the Execute method of the CrmService class, passing the RetrieveUserPrivilegesRequest
class as a arameter.
Cast the return value of the Execute method to the type RetrieveUserPrivilegesResponse.

Answer: C

Question: 17
You're an administrator of your company network. You're using the rmService Web service to
create a new task, and associate it with an account. You have to set the value of the task object's
regardingobjectid field to do this. So what are you going to set on the
regardingobjectid field?

A. Set the name property to the name of the account.


B. Set the Value property to the ID of the account.
C. Set the type property to EntityName.account.ToString().
D. Set the type property to EntityName.account.ToString()..

Answer: B

Question: 18
You're an administrator of your company network. You've been assigned a task. You have to
develop a custom workflow activity which will accept an input parameter named Country. You
plan to set a default value for this parameter, which is also visible to any user who creates a
workflow with this custom workflow activity. So what should you do to achieve this?

A. Set the default value in code in the constructor of the custom workflow activity class.
B. Set the default value in code in the public property accessor for the Country parameter
C. Create a new DependencyProperty called CountryDefault that will set the default value when
called.
D. Add an attribute called CrmDefault to the public property definition for the Country parameter.
Set the default value within the attribute definition.

Page 5 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Answer: C

Question: 19
You're an administrator of your company network. You are writing a custom workflow activity
which will make a call to the Microsoft Dynamics CRM Web service. How can this goal be
achieved?

A. [C#]
CreateCrmService();
Net]
CreateCrmService()
B. [C#]
GetService(typeof(IContextService));
Net]
GetService(GetType(IContextService)), ICrmService)
C. [C#]
GetService(typeof(IContextService));
Context;
CreateCrmService();
Net]
GetService(GetType(IContextService)), IContextService)
Context
CreateCrmService()
D. [C#]
GetService(typeof(IContextService)).context;
CreateCrmService();
Net]
GetService(GetType(IContextService)).context, IWorkflowContext)
CreateCrmService()

Answer: B

Question: 20
You're an administrator of an international corporation. The company has several Microsoft
Dynamics CRM servers within one deployment. A custom workflow activity has been created by
you and is going to be used throughout the organization. What steps should be taken to deploy
the assembly while using as little effort as possible?

A. Register the custom workflow activity assembly on one Microsoft Dynamics CRM server, and
specify a sourcetype of database.
B. Register the custom workflow activity assembly on each Microsoft Dynamics CRM server, and
specify a sourcetype of database.
C. Register the custom workflow activity assembly on one Microsoft Dynamics CRM server, and
specify a sourcetype of GAC
D. On each server, copy the assembly to the Global Assembly Cache (GAC)
E. Register the custom workflow activity assembly on one Microsoft Dynamics CRM server, and
specify a sourcetype of GAC
F. On the same server, copy the assembly to the Global Assembly Cache (GAC)

Answer: A

Question: 21
In order to make a custom workflow activity be ready for use within a workflow, you have to take
some steps to set up and deploy it. So what are the steps?

Page 6 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

A. Design and develop the custom workflow activity


B. Design and develop the custom workflow activity
Sign the assembly with a strong name.
C. Design and develop the custom workflow activity
Register the custom workflow activity assembly.
D. Design and develop the custom workflow activity
Sign the assembly with a strong name
Register the custom workflow activity assembly

Answer: C

Question: 22
You're an administrator of your company network. You developed a Custom Workflow Activity
and deployed the assembly dll to your company's Microsoft Dynamics CRMserver. You have
local administrator rights on the server. In order to make sure that you can debug the assembly
on the server, what additional steps should you take? (choose more than one)

A. Copy the pdb file to the bin folder of the CRM Web site.
B. Copy the pdb file for the assembly to the %installdir%\server\bin\assembly folder.
C. Attach the Visual Studio debugger to the process for the CrmAppPool application pool
(w3wp.exe).
D. Attach the Visual Studio debugger to the Microsoft Dynamics CRM Asynchronous Service
process (CrmAsyncService.exe).

Answer: A, C

Question: 23
Look at the following options, please choose one that describes how any .NET extension code is
written to work correctly on both single and multi-tenant Microsoft Dynamics CRM 4.0
implementations. So which option will you choose?

A. There are no specific considerations. All calls to the CrmService and MetadataService Web
services will automatically be aware of the correct organization.
B. All calls to the CrmService Web service must pass the correct organization information, but
calls to the MetadataService do not need to pass organization
C. All code that accesses the CRM platform must be aware of the current organization, and must
ensure the correct organization information is passed on every call
D. All code that accesses the CRM platform must be aware of the current organization. The first
call to either the CrmService or MetadataService Web services
E. Subsequent calls do not need to specify the organization information, as the platform retains
this information

Answer: B

Question: 24
You're an administrator of your company network. You're going to write a plug-in assembly using
Visual Studio. The plug-in assembly will access the Microsoft DynamicsCRM platform. What
references must be added to the project to be able to compile and deploy the plug-in assembly?

A. A Web reference to the CrmService Web Service.


B. The .Net assembly Microsoft.Crm.Callout.Base.dll.
C. The .Net assembly Microsoft.Crm.SdkTypeProxy.dll
D. Net assembly Microsoft.Crm.Sdk.dll

Page 7 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

E. The .Net assembly Microsoft.Crm.SdkTypeProxy.dll


F. Net assembly Microsoft.Crm.Sdk.dll
G. A Web reference to the CrmService Web Service

Answer: B

Question: 25
You're an administrator of your company network. A plug-in assembly must be deployed onto a
Microsoft Dynamics CRM 4.0 deployment that consists of two CRM servers. The plug-in
assembly does not require any additional assemblies. If the assembly is to be stored in the
database, what steps should you take to complete the deployment?

A. Register the plug-in on one of the CRM servers.


B. Register the plug-in on both of the CRM servers.
C. Register the plug-in on one of the CRM servers.
D. Copy the assembly into the Global Assembly Cache on one of the CRM servers
E. Register the plug-in on both of the CRM servers.
F. Copy the assembly into the Global Assembly Cache on both of the CRM servers

Answer: A

Question: 26
You're an administrator of your company network. One of the network administrators of your
company tried to register a plug-in, but he received an error stating he did not have enough
privilege. So what should you do to help this user be able to register the plug-in? (choose more
than one)

A. Ensure the user is a member of the local Administrators group on each CRM server.
B. Use the Deployment Manager utility to ensure the user is a member of Deployment
Administrators role.
C. Ensure the user is a member of a security role that has organization level privileges for all
actions on all entities for which the plug-in is to be registered.
D. Ensure the user is a member of either the SystemCustomizer or SystemAdministrator security
roles in the Organization in which the plug-in is to be registered.

Answer: A, C

Question: 27
You're an administrator of your company network. You have a Microsoft Dynamics CRM 4.0
deployment that has one CRM server. Unhandled exception messages from plug-ins are written
by the Microsoft Dynamics CRM platform, and which Event log on the CRM server are the
messages being written to?

A. System Event log


B. Security Event log
C. Application Event log
D. No event log entries are written by default

Answer: B

Question: 28
You're an administrator of your company network. Now you're asked to deploy a plug-in assembly
that references other custom .NET assemblies. There're three CRM servers in the Microsoft
Dynamics CRM 4.0 deployment. Where should you place the referenced custom .NET
assemblies?

Page 8 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

A. In the Global Assembly Cache on one of the CRM servers.


B. In the Global Assembly Cache on each of the CRM servers.
C. In the <installdir>\Program Files\Microsoft Dynamics CRM\server\bin\assembly directory on
each of the CRM servers
D. In the <installdir>\Program Files\Microsoft Dynamics CRM\server\bin\assembly directory on
one of the CRM servers

Answer: A

Question: 29
A new CRM developer is creating a plug-in for the post event of the Update message on the lead
entity. Within the plug-in the developer plans to write code that will update the same instance of
the lead record that was originally updated, but such code can result in an infinite loop. The plog-
in code create the CrmService proxy which is used to perform the update by using
CreateCrmService method of IPluginExecutionContext. Which of the following statements is true
about infinite loop detection in this scenario within Microsoft Dynamics CRM 4.0?

A. The CRM platform will not be able to detect infinite loops.


B. The CRM platform will detect the infinite loop after a certain number of iterations of the plug-in
code.
C. Infinite loop detection will only work if your code explicitly sets the CorrelationTokenValue of
the CrmService class.
D. No infinite loops can occur, because plug-ins do not fire as a result of requests submitted from
the CrmService proxy created in this way.

Answer: A

Question: 30
You're an administrator of your company network. Now you've been assigned a task to write a
plug-in to perform validation of data submitted by a user. You want to display en error message to
the user if the data fails the validation. What should you do to achieve this?

A. Put the message in the context.ErrorMessage property


B. Set the return value of the Execute method to the error message string
C. Add a string parameter to the OutputParameters property bag called ErrorMessage.
D. Within the plugin, throw an exception of type InvalidPluginExecutionException with the error
message in the Message property of the
E. InvalidPluginExecutionException

Answer: C

Question: 31
You're an administrator of your company network. Now you've been assigned a task to write a
plug-in, which will be registered on the post event of the Create messagefor the account entity.
Within the plug-in you have to access the primary key value of the newly created account. So
what should you do to achieve this?

A. Use the IPluginExecutionContext.EntityId property.


B. Use the IPluginExecutionContext.InputParameters property bag
C. Use the IPluginExecutionContext.OutputParameters property bag
D. You cannot obtain the ID of the record on the post create event.

Answer: B

Page 9 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Question: 32
You're an administrator of your company network. Now you've been assigned a task to write
some client-side code that checks whether a lead is rated as hot. The rating of lead is stored in
the picklist field leadqualitycode, which has the following values: 1 - Hot 2 - Warm 3 - Cold You
know that your company want to change the text associated with the three possible values.You
want this to have the minimal impact on your code. How do you test for a lead rated as hot?

A. Use the following line of code:


all.leadqualitycode.DataValue == 1)
B. Use the following line of code:
all.leadqualitycode.DataValue == "1")
C. Use the following line of code:
all.leadqualitycode.DataValue == "Hot")
D. Use the following line of code:
all.leadqualitycode.SelectedText == "Hot")

Answer: A

Question: 33
Within client-side script in a Microsoft Dynamics CRM account form, in determining whether the
form is being used to create a new account, or to edit an existing account, what is the simplest
supported way?

A. Check the FormType property of the crmForm object.


B. Check whether the name field contains data; if it does the form is being used to edit an existing
account, otherwise the form is being used to create an account.
C. Check whether the crmFormSubmitId field in the crmFormSubmit form contains data; if it does
the form is being used to edit an existing account, otherwise the
D. Ensure the accountid field is added to the form. Check whether the accountid field contains
data; if it does the form is being used to edit an existing account,

Answer: A

Question: 34
As an administrator of your company network, you're responsible for solve problems for your
company and its customers. Now in order to enable each customer to view the data stored in the
Microsoft Dynamics CRM account record that corresponds to that customer, you are asked to
create a Web portal. But customers shouldn't be ableto view any other account records. There're
more than 4000 customers who use this portal, you have to reduce the licensing cost and keep
sufficient security. So what users and licenses should you use for this scenario?

A. You should create one Microsoft Dynamics CRM user account with a Microsoft Dynamics
CRM client license that is used by all customers. Use this account for
B. You should create a separate Microsoft Dynamics CRM user account for each customer, each
with a Microsoft Dynamics CRM client license. Use each account for
C. You should create a separate, non-Microsoft Dynamics CRM authentication mechanism for
each customer in the portal. Purchase a Microsoft Dynamics CRM
D. Create one proxy account which the portal uses to access Microsoft Dynamics CRM data.
E. You should create a separate, non-Microsoft Dynamics CRM authentication mechanism for
each customer in the portal. Retrieve Microsoft Dynamics CRM data

Answer: B

Question: 35

Page 10 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

You're an administrator of your company network. Now you've been assigned a task to create an
ASP .Net extension for Microsoft Dynamics CRM. This extension will update data within the CRM
platform, and it is important that the updates are made using the user context of the user who
accesses the extension. The extension is to be deployed within the CRM Web site on a CRM
server that is configured to use IFD (Forms) authentication. You do not want to prompt the user
for his or her credentials. What should you do to ensure that the CrmService proxy is accessed
using the correct user information?

A. Submit a RetrieveCrmTicketRequest to the CrmService.Execute method to get a CrmTicket


B. CrmAuthenticationTokenValue.CrmTicket property accordingly.
C. Use the ExtractCrmAuthenticationToken method of the CrmAuthenticationToken class to
create the CrmAuthenticationToken
D. CrmAuthenticationTokenValue property accordingly
E. Submit a RetrieveCrmTicketRequest to the CrmDiscoveryService.Execute method to get a
CrmTicket
F. CrmAuthenticationTokenValue.CrmTicket property accordingly
G. Ensure the web.config file for the extension contain the element <identity impersonate="true"
/>
H. Credentials property to System.Net.CredentialCache.DefaultCredentials

Answer: A

Question: 36
You're an administrator of your company network. Now you've been assigned a task to customize
the Microsoft Dynamics CRM account form by placing an IFrame on the form which will display
the Web site of the account if the websiteurl field is set, otherwise it will display a blank page.
What is the easiest way to achieve this in a supported manner?

A. Add an IFrame to the account form using the form customization tool. Set the URL to
"=crmForm.websiteurl.DataValue".
B. In ISV.config, create a NavBarItem for the account entity form, and set the URL attribute to
"=crmForm.websiteurl.DataValue"
C. In the OnLoad event of the form, and the OnChange event of the websiteurl field, check if the
websiteurl is set. If so, dynamically create a Dynamic HTML IFrame
D. Add an IFrame to the account form using the form customization tool. Set the URL to
"_root/blank.aspx".
E. If so, change the src attribute of the IFrame to

Answer: C

Question: 37
You're an administrator of your company network. Now you've been assigned a task. You have to
enable Microsoft Dynamics CRM users to disqualify several leads directly from the Lead grid
within Microsoft Dynamics CRM. It is important that any solution is implemented in a supported
way. You have a custom .aspx page that closes a lead when the lead's GUID is passed to the
page, and updates related data in an external application. This page is named Disqualify.aspx.
You have created a Button element in ISV.Config that the user clicks to close the selected leads
in the grid. What else actions should you perform?

A. Set the URL attribute of the Button element to open Disqualify.aspx.


B. Set the URL attribute of the Button element to open Disqualify.aspx..
C. Write custom JScript code that will identify the selected items in the grid, and use an XML
Request to pass the GUID of each lead to Disqualify.aspx.
D. Set the URL and WinMode attributes of the Button element to launch a custom Web page as a
modal dialog.

Page 11 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

E. dialogArguments property to identify the selected leads. aspx

Answer: C

Question: 38
You're an administrator of your company network. Now you've been assigned a task. You have to
add custom code to perform advanced client-side validation on the opportunity form, and prevent
a user from saving invalid data. The validity of the data is determined by the values of the
estimatedclosedate and closeprobability fields. How do you write the code?

A. Write the validation code in the OnSave event of the form. If the data is invalid, set the
event.returnValue to false.
B. Write the validation code in the OnSave event of the form. If the data is invalid, set the IsDirty
property of the form to false.
C. Write the validation code in the OnChange event of the estimatedclosedate and
closeprobabilty fields. If the data is invalid, set the IsDirty property of both
D. Write the validation code in the OnChange event of the estimatedclosedate and
closeprobabilty fields. If the data is invalid, set the ForceSubmit property of both

Answer: A

Question: 39
You're an administrator of your company network. You're in charge of extending a Microsoft
Dynamics CRM implementation for a multi-national company. The implementation contains one
Microsoft Dynamics CRM organization, but it supports two languages, English and Chinese. Your
manager asks you to add a link to the company's Intranet as a SubArea in the main Navigation
Pane of the CRM application. The text of the SubArea should display in English or Chinese,
based on the user preferred language in Microsoft Dynamics CRM. What should you do to
achieve this while using as less effort as possible?

A. Create one SubArea in the SiteMap, with two Title elements. For each Title element, set the
text and the LCID to the appropriate values for each language.
B. Create two separate SiteMaps; one in English and the other in Chinese. Associate each
SiteMap with the appropriate language. Create the SubArea with the
C. Create one SubArea in the SiteMap with one Title element.
D. Add the SubArea with text in one of the languages.
E. Add script to the application OnLoad event to determine the language code (LCID) of the
current user, and programmatically update the text of the SubArea if it

Answer: A

Question: 40
You're an administrator of your company network. An ASP .Net extension has been created by a
developer to access data in a separate application from Microsoft Dynamics CRM.
You're asked to deploy this extension within the CRM Web site. But when it is deployed, it doesn't
work normally. But when deployed in a separate ASP.NET 2.0 Web site, it does work
correctly.You find that the ASP.NET extension does not contain a web.config file. In order to
make it work correctly within the CRM Web site, you have to add one web.config element to the
extension. So which web.config elements may need to be added to? (choose more than one)

A. pages
B. appSettings
C. httpRuntime
D. httpModules

Page 12 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

Answer: C

Question: 41
You're an administrator of your company network. Now you've been assigned a task to create an
ASP .Net extension for Microsoft Dynamics CRM. This extension will access data within the CRM
platform. Also, it is important that the extension can only access the data that the user who
accesses the extension is permitted to see. Theextension must be reusable on many CRM
deployments, which may use either IFD (Forms) or Active Directory authentication, and is to be
deployed within the CRM Website. You do not want to prompt the user for his or her credentials.
The web.config file for the extension contains the element <identity impersonate="true" /> How
does your code need to access the CRM data ?

A. Use the System.Data namespace to retrieve the CRM data using SQL SELECT statements
against the base SQL tables.
B. Use the System.Data namespace to retrieve the CRM data using SQL SELECT statements
against the Filtered Views.
C. Ensure all code that accesses the CRM platform is wrapped within a using (new
CrmImpersonator()) code block Use the Retrieve and RetrieveMultiple methods
D. Use the CrmDiscoveryService to retrieve the UserId of the current user.
E. CallerId to the appropriate user

Answer: B

Question: 42
Which of the following can you do by editing the Microsoft Dynamics CRM SiteMap? (choose
more than one)

A. Add new links within an entity form to custom Web pages


B. Add a new menu to the Microsoft Dynamics CRM Application Menu Bar
C. Remove the Sales Area from the Microsoft Dynamics CRM Navigation Pane
D. Add new links within the Microsoft Dynamics CRM application to custom Web pages

Answer: A, C

Question: 43
You're an administrator of your company network. Now you've been assigned a task. You have to
create an ASP .Net extension for Microsoft Dynamics CRM. This extension will be deployed on a
multi-tenanted Microsoft Dynamics CRM deployment which has several organizations. The
extension will be deployed within the CRM Web site, and will be accessed from an ISV.Config
button which will be created within the customizations for all organizations. what is the simplest
way to identify the appropriate organization within the extension?

A. Use the CrmDiscoveryService to return the current organization context.


B. Ensure the PassParams="1" attribute is set on the ISV.Config button configuration
C. Obtain the Organization from the orgname value of the QueryString
D. Use a WhoAmIRequest to find the UserId of the current user
E. Use the CrmDiscoveryService to return the default organization for that user
F. Use the ExtractCrmAuthenticationToken method of the CrmAuthenticationToken class to get a
CrmAuthenticationToken. Read the OrganizationName property
G. of the CrmAuthenticationToken

Answer: A

Question: 44

Page 13 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

What is the easiest way to specify the data for the CrmAuthenticationToken when submitting a
Soap Request to the CrmService from client script?

A. Use the client side GenerateAuthenticationHeader() function. Include the return value within
the <Soap:Header> element
B. Submit a Soap Request to the CrmService Web service to return the information. Add these
within the <Soap:Header> element
C. Read the AuthenticationType, OrganizationName and CallerId from the crmForm object. Add
these within the <Soap:Header> element
D. Submit a Soap Request to the CrmDiscoveryService Web service to return the information.
Add these within the <Soap:Header> element

Answer: A

Question: 45
Which of the following extensions to the Microsoft Dynamics CRM Client for Outlook are using
through Microsoft Dynamics CRM Customizations? (choose more than one)

A. Adding a menu item to Account entity form


B. Adding a new area to the main navigation pane
C. Adding a button to the toolbar of the Case entity form
D. Adding a button to the CRM toolbar of the Outlook client

Answer: A, B

Question: 46
You're an administrator of your company network. Now you've been assigned a task. You have to
write some code to validate data within the OnSave event of the opportunity form. This validation
code depends on data stored in the estimatedrevenue attribute of the account that is the Potential
Customer of the opportunity. The Potential Customer is stored in the customerid attribute, and
you have already checked that it does contain a valid account. You have to ensure that the
solution is implemented in a supported way.How can you access the data in the
estimatedrevenue attribute?

A. Use the following client script expression:


B. all.customerid.estimatedrevenue.DataValue.
C. Use the following client script expression:
D. all.customerid.DataValue[stimatedrevenue.DataValue.
E. Use the OpenObj function to open the form for the appropriate account. Use the return value of
the OpenObj function to obtain access to the crmForm object for
F. Create a new instance of the Msxml2.XmlHttp ActiveXObject

Answer: C

Question: 47
A custome .NET application that uses the CrmService Web service to create leads and new
custom entity records within Microsoft Dynamics CRM has been written by you.The application all
runs normally when testing the code using an account with the System Administrator security
role. However, when using a different user account theleads are created, but the code for
creating the custom entity records fails. An error indicates the user does not hold the necessary
privileges.You check the user account used, add it to a security role which has the CREATE
access right for the custom entity, then test the code again, but get the same error. So what is the
most likely reason for this problem?

Page 14 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

A. The code has not set the CallerIdValue field of the CrmService object to that of the correct
user.
B. Security changes to custom entities only apply after the entity is published.Publish the custom
entity and try again.
C. Security role membership is only checked when a user account logs on. Log off, and log on
again with the user account before testing again.
D. The user account requires more than just the CREATE access right.

Answer: C

Question: 48
As an administrator of a company, now you've been assigned a task, you have to write an
extension to Microsoft Dynamics CRM 4.0 which will be deployed on an Microsoft Dynamics CRM
implementation that supports multiple languages.The extension will need to display the text labels
of picklist fields to the user. All users have been granted appropriate permissions to access the
MetadataService Web service. So what should you do tou ensure that each user sees these text
labels in the correct language, with the least development effort?

A. Deploy one instance of the extension for each language, and specify the language to which it
applies. The CRM platform will automatically call the correct
B. Your extension code must impersonate the current user when retrieving the picklist labels from
the MetadataService Web service. The MetadataService Web
C. Your extension code should retrieve the labels for all languages. Whenever labels need to be
displayed, your code will need to retrieve the current user
D. Retrieve the picklist labels from the MetadataService Web service in the default language.
Whenever labels need to be displayed, your code will need to retrieve

Answer: A

Question: 49
You're the administrator of your company network. There is a rule in your company which
provides that a record must be written to a custom application when a user creates a case in
Microsoft Dynamics CRM. You must ensure that the code you write does not have impact on the
Microsoft Dynamics CRM user's experience as the custom application can be slow to update.
Also you must ensure that only data that is saved to Microsoft Dynamics CRM is written to the
custom application. So how should you write the logic to update the custom application?

A. As a synchronous plug-in registered on a pre-event.


B. As an asynchronous plug-in registered on a pre-event.
C. As an asynchronous plug-in registered on a post-event.
D. Using client-side Jscript that runs on a form's OnSave event.

Answer: B

Question: 50
Several extensions for Microsoft Dynamics CRM 3.0 have been written by your company, which
were deployed by many customers. And the extensions were tested successfully on
Microsoft Dynamics CRM 4.0. But some customer complains that the extensions don't work any
loner when they upgrade their implementation to Microsoft Dynamics CRM 4.0.What differences
between the test environment, and this customer deployment may be the cause of the problems?
(Choose more than one)

A. The customer deployment may use a different SQL collation and sort order.
B. The customer deployment may have been deployed on Windows Live, which does not support
all types of extensions.

Page 15 of 16
Exam Name: CRM 4.0 Extending Microsoft Dynamics
Exam Type: Microsoft
Exam Code: MB2-634 Total Questions 50

C. The customer deployment may include multiple CRM organizations. Extensions written for
Microsoft Dynamics CRM 3.0 can only work on the default
D. The customer deployment may use IFD (Forms) authentication. Extensions written for
Microsoft Dynamics CRM 3.0 assume Active Directory authentication is

Answer: B, C

End of Documents

Page 16 of 16