Microsoft CRM 3.0 SDK Readme

Microsoft Confidential, Subject to Section 5, Confidentiality, of the Microsoft CRM 3.0 EULA

SDK Version 3.0.6, March 2007


This document provides important, late-breaking information about the Microsoft CRM 3.0 Software Development Kit (SDK) documentation. 

Contents of the SDK

The following table lists the files that are included in the download of the SDK.

Name

Contains

SDKReadme.htm

This file, which contains release notes.

CrmSdk3_0.chm

The documentation help file for the SDK.

SDK Install

A folder that contains an installer that installs the SDK documentation into Microsoft Visual Studio .NET.

SDK Samples

A folder that contains sample code.

MicrosoftCrm3.0UIStyleGuide.pdf

A .pdf file that contains the final style guide specifications for the product.

Report Style Guide.pdf

A .pdf file that contains the style guide specifications for Reporting Services reports.

Getting Started

Before you install the Microsoft CRM SDK, you must review these release notes. You should also read the Microsoft CRM Implementation Guide (http://go.microsoft.com/fwlink/?LinkId=56257). Detailed instructions for installing Microsoft CRM Server and Microsoft CRM 3.0 client for Microsoft Office Outlook (the Outlook client) software are provided in the Microsoft CRM Implementation Guide.

Known Issues

OpportunityClose PreCreate/PostCreate callouts not triggered through application   (36617)

Choosing Opportunity > Win or Opportunity > Lose in the Web application do not generate callouts for underlying operations like OpportunityClose activity creation. 

Key value cannot be set to NULL   (38938)

When performing an update on an entity, there is no way to set an attribute value of type Key to NULL. 

Links in a custom menu change order in the Outlook client after upgrade  (35886)

For an ISV menu with the same name but different content in the Web application and the Outlook client, upgrade moves the menus that are specific to Outlook to the end of the list. Workaround: Edit the isv.config.xml file and move the Outlook client menus back to the desired location.

Incorrect service URL in the MetadataService WSDL   (38659)

There is an incorrect URL in the Microsoft CRM 3.0 MetadataService.wsdl file. When you use the wsdl.exe program to generate proxy code, the resulting Metadata Service URL in the output code file is incorrect. For example, when you execute the following command from a VS.NET command prompt:

    wsdl.exe MetadataService.wsdl /n:MetadataServiceSdk /o:MetadataProxy.cs

The generated MetadataProxy.cs file is missing “2006” in the service URL.

    public MetadataService() { this.Url = http://localhost/mscrmservices/MetadataService.asmx"; }

The generated code must be manually edited to read as follows:

    public MetadataService() { this.Url = http://localhost/mscrmservices/2006/MetadataService.asmx"; }

The same issue occurs when generating the output in another language, such as VB.NET.

    wsdl.exe MetadataService.wsdl /n:MetadataServiceSdk /l:VB /o:MetadataProxy.vb

ISV readiness sample code issues

The HelpTocCustomizer class is not implemented in this release. This version of the CalloutConfigCustomizer class does not support pre-value, post-value, onerror, and timeout nodes.

The request failed with HTTP status 401: Unauthorized   (35194)

This error may be returned when executing some of the SDK sample code. This problem can occur when attempting to authenticate the user in Microsoft CRM. The cause is currently under investigation.

Workaround: Do not preauthenticate the user. Comment out the following line of code in the sample source code:

  service.PreAuthenticate = true.

Rebuild the sample and retest.

IFrame script error in Outlook  (36215)

Adding an IFrame that points to a detail form URL throws a script error in Outlook.

Use of HttpModules is unsupported  (36772)

The use of custom HttpModules to inject HTML or DHTML into the Microsoft CRM forms is unsupported.

DLLs not added to GAC on install  (36475)

In certain conditions, the Microsoft.Crm.Tools.ImportExportPublish and Microsoft.Crm.MetadataService assemblies are not added to the GAC on installation. When you try to use the Web services for the SDK, you may receive this error: "Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately."

Workaround: Add these DLLs to the GAC: Microsoft.Crm.Tools.ImportExportPublish.dll and Microsoft.Crm.MetadataService.dll.

ISV Config grid toolbar extensions ignore WinMode parameter (29145)

Grid toolbar extension button and menu items ignore the WinMode parameter. You cannot specify that a dialog box has to be used instead of a regular window.

ISV Config creates invalid IDs

ISV Config autogenerates an ID for buttons and menu items based on the Title tag of the item. This may result in an invalid ID.

Workaround: Ensure that your title contains only valid characters: A-Z, a-z, and 0-9.

License attribute on SiteMap Area and Group tags  (33739)

The License attribute does not work on the following SiteMap tags: Area and Group.

Invalid ISV Config throws a SiteMap error (36629)

If you import customizations and your  isv.config file contains errors, the import will succeed, but Microsoft CRM will not start, and the following error will be displayed “SiteMap error.”

Workaround: In your browser, open http://<Microsoft_CRM_Servername>/tools/systemcustomization/ImportCustomizations/importCustomizations.aspx, and import a corrected isv.config file.

The Settings Area or Service Calendar in the Outlook client cannot be customized

Customizing the settings area or service calendar in the Outlook client is not supported.

Publishing a report with a custom datasource causes exception (36642)

Reports can read data from the Microsoft CRM database and also from other datasources, such as a custom database. Before publishing a report to Microsoft CRM that uses other datasources, the datasources must have been created in SQL Server Report Manager on the reporting server. If the datasource refers to a custom database, that database must exist on the computer running SQL Server used by Microsoft CRM. Failure to do so results in an error when running the deployed report in Microsoft CRM.

The first step when publishing a report that references a custom datasource is to deploy the associated database to the appropriate database server and then create a new datasource using Report Manager that references the custom database. This is done by clicking the New Data Source button in Report Manager and filling in the requested datasource information such as name, connection string, and credentials. You can refer to the properties of the original datasource in Visual Studio .NET Report Designer to obtain these datasource values as they are used in the report. After the datasource has been created in Report Manager, you can deploy the report to the report server from within Microsoft CRM.

Query Expression PagingCookie (31323)

When you call RetrieveMultiple with a QueryExpression to retrieve the second page of results, you must supply a PagingCookie field value.

Query Expression does not support intersect tables

You cannot create a query to return data from intersect tables using QueryExpression. However, intersect tables can be used as LinkEntities in a QueryExpression.

SetStateQuoteRequest cannot be used to close a quote (35674)

You must use CloseQuoteRequest to close a quote. SetStateQuoteRequest can be used to set the state from Draft to Active.

Import failure with large file (34925)

ImportAll fails with a 'Maximum request length exceeded' error if the XML file is very large..

Workaround: ASP.NET has a limit on the http request size. The default value is 4MB. The limit can be increased by adding the following tag to the web.config file:
<httpRuntime maxRequestLength="8192" />

The tag must be added to wwwroot\web.config and wwwroot\MSCRMServices\web.config.

Callouts not supported on EntityMap

EntityMap does not support callouts as documented in this SDK.

UserQuery PreSetState and PostSetState callouts (36439, 36541)

For UserQuery, the PreSetState callout does not fire. An application error is thrown if you activate or deactivate a UserQuery that has a PostSetState callout.

PreCreate and PostCreate are not fired for entities created through bulk operations (36121)

When entities are created through bulk operations (bulk import and activity propagation through campaigns), the PreCreate and PostCreate events are not fired.

PreCreate is not fired on RelationshipRole and RelationshipRoleMap (36621)

When a relationship role or relationship role map is created using the application (rather than the SDK methods), the PreCreate event is not fired.

PreCreate is not fired on CalendarRule (32940)

The PreCreate event is not fired for the CalendarRule entity.

SetStateSalesOrderRequest documentation

The SetStateSalesOrder message only allows changing the state of an order to Submitted.

Do not update the pricingerrorcode attribute

You must not update the attribute pricingerrorcode using the SDK in the following entities: opportunity, opportunityproduct, quote, order, and invoice. Doing so might cause problems in the Microsoft CRM clients.

Using the e-mail DirectionCode attribute

To set the direction code for an e-mail, use the following values:

Email.directioncode = false; // for Incoming
Email.directioncode = true; // for Outgoing

Entities not supported by metadata browser (23561)

Some system entities listed in the Customization area of the application are not included in the metadata browser (http://<Microsoft_CRM_server_name>/sdk/list.aspx).

Metadata browser shows incorrect name (35760)

After an upgrade, custom attributes retain their uppercase names for the logical name, but the MetadataBrowser shows the name as all lowercase.

Workaround: Use the metadata Web service to retrieve the correct logical name values.

Use CreateUoMScheduleRequest rather than Create to create a UoMSchedule (23351)

You cannot use the Create method to create a UoMSchedule because, to create a UoMSchedule, you must also create a UoM object.

Workaround: Use the CreateUoMScheduleRequest method to create a UoMSchedule.

Documentation Feedback

The Microsoft CRM Documentation Team welcomes your suggestions and comments about the documentation. You can quickly and directly send e-mail feedback to Documentation Feedback. All feedback must be in English. Please note, the Microsoft CRM Documentation Team does not respond to technical support questions. If you need technical support, see the "Microsoft CRM Resources" topic in the Microsoft CRM online Help. Also, the feedback e-mail that you send is not tracked in Microsoft CRM as an activity.

Copyright

This documentation supports the Microsoft CRM 3.0 Software Development Kit (SDK).

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 2007 Microsoft Corporation.  All rights reserved.

Microsoft, MS-DOS, Windows, Windows Server, Windows Vista, Active Directory, Outlook, Visual Basic, and Visual Studio are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

All other trademarks are property of their respective owners.