This article applies to:
- CWR Mobile CRM 4.0
- Microsoft Dynamics CRM 4.0
EditCurrent Version
Release Date: 2009-04-30
Version: 4.0.0.16
IMPORTANT WHEN UPGRADING FROM 4.0.0.1!
Due to an issue with the 4.0.0.1 setup, running the latest setup will remove existing registry keys!
There are two ways to solve this:
- Export your existing profile, Uninstall the previous version and do a clean install.
- Export the CWR Mobile CRM registry keys, run the setup and manually update the registry keys afterwards.
- To export the registry settings go to Start – Run. Type “regedit”. Then navigate to HKEY_LOCAL_MACHINE\SOFTWARE\CWR Mobility\CWR Mobile CRM. Right-click “CWR Mobile CRM” and select “Export”. Enter a name and save it.
- Open the file in a text editor and change the following entry:
- "Version"="<current version>", e.g. 4.0.0.16
- Save the file with ANSI encoding! With most text editors there is a "Save as..." option where you can set the encoding.
- Run the new setup.
- Import the updated registry file. You do this by double-clicking the file.
Edit4.0.0.16 (2009-04-30)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-01452: Added ability to download salesliteratureitem attachments. Changed implementation for attachments for both annotation and salesliteratureitem.
EditServer
Mobile WebServices
- CAS-01452: Added ability to download salesliteratureitem attachments. Changed implementation for attachments for both annotation and salesliteratureitem.
Edit4.0.0.15 (2009-03-03)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-01353: Fixed too strict check on QueryExpression object parameters in SDK.
- CAS-01442: Added fix for problem when insterting a client entity with an NText field value with more than 4000 characters.
- CAS-01449: Fixed bug in Online.AnnotationDataInterface. Method Signature of async return callback was incorrect.
- CAS-01454: Metadata is only updated for specific activities, not for the generic activitypointer. So if you add a relationship between a custom entity and the activitypointer, this is not updated on the client. FIX: whenever there's a new custom entity, we check if it has a relation to activitypointer. If so, we update the activitypointer metadata.
- CAS-01453: Delete menu in View was not correctly configured in some cases. Therefore it could happen that the Delete menuitem was enabled even though it was configured as Disabled.
- CAS-01458: Fixed locking problem when an attachment was removed from an annotionation on the server.
- CAS-01460: Fixed bug where sync stopped when the "moreRecords" flag of the last processed entity was false even if there were more entities to sync.
EditServer
Mobile WebServices
- CAS-01437: Fixed problem with sync not synchronizing all requested records in some cases (date related filters, sharing).
- CAS-01450: Added entity "salesliteratureitem" to list of supported entities.
- CAS-01459: Fixed problem with sync not syncing correct record count.
Mobile Configurator
- CAS-01451: Fixed bug where user is unable to input apostrophe in sync filter Value field.
- CAS-01450
- CAS-01454
Setup Configurator
- CAS-01445: Set Logging directory security even if website/vdir are not created.
Edit4.0.0.14 (2008-11-19)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-01300: Fixed issue with memory leak in ListPanel. This memory leak was caused because the ListPanel was not disposed correctly due to the fact that the FormPanel.FormSaved event was still attached to it. This also caused performance issues because every time a form was saved the OnFormSaved eventhandler was called and the list was refreshed. So after 5 times of opening and saving a form of the same entity type, the eventhandler was called 5 times!
- CAS-1280: Invalid XML namespace caused MemberAccessException in deserializing webservice Responses (only applies to custom code using the SDK).
- CAS-1440: The Offline SetStateEntity method resolved the status using the default state instead of the supplied state code (only applies to custom code using the SDK).
Edit4.0.0.13 (2008-10-23)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-1436: JOIN on custom field in linked entity fails with sql syntax error (related to CAS-1405).
EditServer
Mobile WebServices
- CAS-1438: NullReferenceException with autorisation error in sync on server.
- Additional modifications:
- Don't log the privileges soap exception anymore, add to trace only.
- Don't stop processing, continue processing with the Next Filter.
- Some minor exception handling fixes.
Setup
- Added missing CWR.MSCRM.Mobile.Client.OutlookIntegration.dll to the Update and Hotfix setups.
- Added Compact Framework 2.0 and SQL Mobile 2005 setups also for Windows Mobile 6 devices. Some WM6.1 devices (e.g. HTC Diamond) ship with Compact Framework 3.5 so we need to take care of the installation of required components. See also: FAQ: Does CWR Mobile CRM run on Windows Mobile 6.1?
Edit4.0.0.12 (2008-09-30)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-1405: Filter on custom field in linked entity fails with sql syntax error.
- CAS-1418: PreCondition "ConditionExpression can only have 1 item in Value list!" on ConditionOperator.Values caused Calendar to fail.
- CAS-1422: Changing maxlength of ntext field from value <2000 to value > 2000 didn't update on mobile client. This is because Update method skipped Memo attributes.
EditServer
Mobile WebServices
- CAS-1419: LocalizeViewXml and LocalizeFormXml logged exception when view or form xml was empty.
- CAS-1421: Forcing of datetime to UTC by adding " Z" could result in duplicate " Z" when it was already added on the client.
Edit4.0.0.11 (2008-09-03)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-1401: Duplicate "_base" suffix is added to CrmMoney fields in case of Create Sync issue.
- CAS-1398: StringAttributeMetadata.DatabaseLength is null for custom fields with default lengths (100) when upgrading from CRM 3 to 4. This causes a NullReferenceException in SqlCeQueryHelper.GetSqlType.
- Added extra logging to Sync methods to improve debugging/support experience in case of sync issues.
- SDK: Added some extra "DesignByContract" checks in SqlCeQueryHelper to check for existence of certain properties. E.g. SortOrder.Entity needs to be present.
- CAS-1396 CONTINUED: Replaced all string[] by List<string> in the webservice proxy. Having these types mixed can cause the following exception: System.InvalidOperationException: Two mappings for string[].
EditServer
Mobile Configurator
- CAS-1395: Fixed BuildMetadataXml exception when bit field doesn't have FalseOption/TrueOption.
Mobile WebServices
- Added extra logging to improve debugging/support experience in case of sync issues.
- Added try-catch block to "BuildResult" method (Log DynamicEntity and AttributeMetadata).
- Added logging of Version number in case of exceptions.
- CAS-1399: NullReferenceException in MobileService.BuildResult and BuildActivityResult when "name" attribute of Lookup field is not present.
Setup Configurator
- CAS-1349/1400: IISReset when creating the mobile website & mobile config results in update sitemap failure.
- CAS-1376: Check the license against the chosen organization during the import of the license.
Mobile Administrator
- CAS-1376: Check the license against the chosen organization during the import of the license.
Edit4.0.0.10 (2008-08-08)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-1387: Sorting on a custom field column in an activity view, e.g. appointment fails.
- CAS-1394: ArgumentNullException when uploading attachment in disconnected mode.
- CAS-1396: Added all necessary Response classes to the Crm webservice proxy so that SDK code can use them. Without these Response classes the application doesn't recognize CRM's responses and throws a MemberAccessException.
- CAS-1392: Default sorting on picklist column failed.
EditServer
Mobile Configurator
- CAS-1385: Error with TrueValue and FalseValue attributes in Form Editor when moving a boolean field from one tab to another.
Setup Configurator
- CAS-1381: SqlException when COMPUTERNAME$ already exists as a login in the database.
Edit4.0.0.9 (2008-07-23)
Compatible with mobile clients 4.0.0.5 and higherEditClient
- CAS-01351 CONTINUED: Resize eventhandler for BaseControl was never called. Should have been fixed in 4.0.0.6.
EditServer
Setup Configurator
- CAS-1380: In some cases the Setup Configurator doesn't detect IIS6 even if it's installed.
Edit4.0.0.8 (2008-07-09)
EditClient
- CAS-1378: Async loading of OutlookIntegration causes malfunction of the outlook integration. Introduced in v4.0.0.7.
Edit4.0.0.7 (2008-07-04)
EditServer
Mobile Configurator
- CAS-1343: Fixed issue with orgname and lcid parameters disappearing when session is expired.
- CAS-1357: Changing the properties of a lookup column in the ViewEditor removes the "DisplayFormat='name'" attribute when clicking OK.
- CAS-1374: Issue with HttpUtility.HtmlEncode in MobileConfiguration and string "Tab" not translated. Removed HttpUtility.HtmlEncode(...). Encoding displays the encoded value on the form ( e.g. Rótulo -> Rótulo).
- Exclude CRM Online Support User ("Support User") from the Mobile User list.
Mobile WebServices
- CAS-1360: Sync only recognizes \n as a linefeed and replaces that with <cwrbr>. However, there are some more linefeed characters that need to be taken into account, such as 
 and 
. Normally, these characters don't show up in text fields, but when interfacing with backend systems, it could happen that these characters are used.
Setup Configurator
- CAS-1355: Enable anonymous access on CWRMobileConfig "_images" folder.
- Changed default MaxNumberOfSyncRecords from 250 to 100. This will only take effect for new installations.
EditClient
- CAS-1354:
FormSaved event doesn't fire when there are no changes on the form. This is inconsistent with the way CRM works. Also, it fires AFTER the actual save, but instead it should fire BEFORE. Instead of changing the FormSaved event, we add another FormSave event which will fire BEFORE saving and before reloading of the form. Also OnFormSaved firea AFTER Save and BEFORE form reload. - CAS-1356: Added
IFormContext.RefreshForm() method to SDK. - CAS-1358: Mobile client only supports INNER JOIN as view filter even though the server filter editor shows inner, outer, natural. Now it support INNER and LEFT OUTER. Natural is treated as INNER.
- CAS-1362: Fixed issue with Done and Cancel didn't trigger the
FormClosed event. - CAS-1364: MultilookupControl gives NullReferenceException when doing
IFormContext.GetFieldValue(). - CAS-1363:
QueryExpression.EntitiesSet parameter is required. SDK should return descriptive error message when it's not filled. - CAS-1366: CreateCustomControl doesn't set the Anchor property.
- CAS-1367: BaseControl.Changed eventhandler is not set when on Smartphone (Smartphone support is not available yet!).
- CAS-1373: Improved error message during sync when connection is lost.
- CAS-1375: Set MultiCurrency objects functionality in Form shouldn't be executed when the Form is of type TransactionCurrency. This results in an error.
- Removed the ControlBox (close button) from the Synchronization.UpdateMetadataForm. Otherwise a user can close the form while the metadata is updating.
Edit4.0.0.6 (2008-05-19)
EditClient
- CAS-01351: Sometimes controls located on a Tab don't size properly, thus hiding the right edge, e.g. the Lookup button or the dropdown arrow.
- CAS-01352: When starting the application, LogLevel is always set to Error regardless of the actual value in the Settings.
Edit4.0.0.5 (2008-05-08)
EditServer
Mobile Configurator
- Implemented CRM Online functionality.
Mobile WebServices
- Implemented CRM Online functionality.
- CAS-01347: NullReferenceException when calling GetEntity and there's no data to return.
Setup Configurator
- CAS-01349: Restart of websites (and subsequent update of sitemap) fails when it takes too long to restart in Setup Configurator.
EditClient
- CAS-01344:
- SyncStatus was not set correctly when retrieving a request from the queue.
- Creating a record in offline mode results in a sync issue in rare cases when going online. The record is saved in CRM, but stays in the queue.
- CAS-01345: ParentRelation filter disappears when switching between related views.
- CAS-01346: PrimaryField column has wrong entityname in ListPanel for activities. This results in a sql query syntax error.
- CAS-01347: NullReferenceException when retrieving entity online and no entity is returned.
Edit4.0.0.4 (2008-04-21)
EditServer
Setup Configurator
- CAS-01342: Creating organization database failed when there was a "-" in the organization name.
Edit4.0.0.3 (2008-04-12)
EditServer
Mobile Configurator
- CAS-01336: Activityparty metadata is not cached when upgraded from 1.2 to 4.0.
Mobile WebServices
- CAS-01336: Activityparty metadata is not cached when upgraded from 1.2 to 4.0. This can degrade performance while syncing.
- CAS-01337: First user that syncs after 1.2 to 4.0 upgrade doesn't get EntityMetadata.Relationships.
Setup Configurator
- CAS-01338: Configurator failed retrieving websites when websites with duplicate names existed in IIS.
- Added first version of IFD install.
EditClient
- CAS-01335: Changing the entity in a (regarding) lookup fails when the new entity view doesn't have a sortorder.
- Added field Organization to Options screen.
- CAS-01339: Emptying a non-required picklist field sets the value to -1. This is not a valid value, it should be NULL.
- CAS-01340: View throws NullReferenceException when it encounters an invalid (Picklist) value.
Edit4.0.0.2 (2008-04-02)
EditServer
Mobile WebServices
- CAS-01329: UTC Timezone problem. Updates to CRM used a wrong timezone.
Setup Configurator
- CAS-01328: Upgrade 1.2 to 4.0 removed custom labels.
EditClient
- CAS-01235: Error opening view when no sort column defined. Default sortcolumn used wrong entityname.
- CAS-01326: Error opening view when sort column "MaxLength" is NULL. This is due to a bug in CRM 3.0 to 4.0 upgrade.
- CAS-01331: Repeated searching on a view causes an error. This is caused by a FindFilter being removed even when the query has no Criteria defined yet.
- CAS-01332: ExchangeRate field is NULL after CRM 3.0 to 4.0 upgrade. We assume there's always a value. Now when we see a NULL value we change it so 1.
- CAS-01333: Datetime was not converted to UTC when calculating the actualend of an activity.
Edit4.0.0.1 (2008-03-26)
EditServer
Mobile Configurator
- CAS-01319 Filter editor: selecting an entity after entering the filter name generates an error.
- CAS-01245: Move server settings from web.config to database.
Mobile WebServices
- CAS-01322: Machine.config "impersonate" settings override application settings: Added "<identity impersonate="false"/>" to Web.config.
- CAS-01323: Rebuild AskWhoAmI to not use impersonation, but retrieve callerid from the usersettings.
- CAS-01245: Move server settings from web.config to database.
- CAS-01324: Made License organization name case-insensitive.
- NOTE: this means that existing 4.0.0.0 BETA licenses will no longer work!
Mobile Administrator
- CAS-01245: New tool to change organization-wide settings.
EditSetup Configurator
- Added conversion from 1.2 to 4.0 database.
EditClient
- Fixed issue with Routing a Case.
- Fixed issue with default currency not being retrieved correctly.
- Several small bugfixes.
- Added several methods/properties/events to SDK:
- Property Relations
- Event FormClosed
- Method SaveAndNew
- Method OpenView
- Method OpenRelatedView
- Method OpenForm
- Method NewForm
- Added phonecall activity functionality to Call menu. This creates a phonecall activity after you complete a phone call from a CRM form.
- Added generation of Fullname to Contact and Lead entities.
- CAS-01321: (Multi)Lookups don't filter out the parent entity so when opening a Lookup of the same entity type, you could select the same entity as you're currently on which would cause a circular relation.
- Added Outlook integration: Copy/Open contacts, tasks, appointments from Pocket Outlook to Mobile CRM.