locked
Info in CRM 4.0 database on which users have Outlook client installed and which version? RRS feed

  • Question

  • Hi,

    I have a distributed user base that requires multiple helpdesks to install and configure the Outlook client for users.  This has resulted in some difficulty in keeping track of which users have the Outlook client and even what Rollup they are on.

    Is there somewhere in the database that tracks which users have the client installed and the Rollup version?  I know that CRM warns you when you have multiple Outlook clients installed for the same user, so it must be tracked somewhere, but I'm having difficulty locating it in the database.

    Can anyone point me in the right direction?

    Thanks.

     

    Thursday, March 3, 2011 4:08 PM

Answers

  • I have a hunch that the "multiple Outlook installation" tracking is stored in the Subscription table:

    CREATE TABLE [dbo].[Subscription](
    	[SubscriptionId] [uniqueidentifier] NOT NULL,
    	[SystemUserId] [uniqueidentifier] NOT NULL,
    	[MachineName] [nvarchar](200) NULL,
    	[LastSyncStartedOn] [datetime] NULL,
    	[SyncEntryTableName] [nvarchar](128) NOT NULL,
    	[SubscriptionType] [int] NULL,
    	[CompletedSyncStartedOn] [datetime] NULL,
    	[ReInitialize] [bit] NOT NULL CONSTRAINT [DF_Subscription_ReInitialize] DEFAULT ((0)),
    	[UTCConversionTimeZoneCode] [int] NULL,
    	[TimeZoneRuleVersionNumber] [int] NULL,
    	[CompletedSyncVersionNumber] [bigint] NULL
    )
    

    The columns of particular interest to you are SystemUserId (User), MachineName (machine on which the Outlook client is installed) and SubscriptionType which can have the following values:

    public static class SubscriptionType
    {
    	public const int AddressBookProvider = 2;
    	public const int DataMigrationWizard = 3;
    	public const int Offline = 0;
    	public const int Outlook = 1;
    }
    
    

    I tried a quick RetrieveMultiple request to retrieve the Subscriptions in our CRM, but received an error indicating that RetrieveMultiple is not supported for 'subscription'.  The SDK documentation appears to infer the same.

    So, if you wish to interrogate such information, you'll probably have to access the DB directly.

    Note also, the absence of Rollup information as per your requirements; I don't believe this information is stored as it is not required by the CRM.

     

     


    --pogo (pat)
    • Marked as answer by Keithkl Friday, March 4, 2011 2:51 PM
    Thursday, March 3, 2011 11:32 PM

All replies

  • I am sorry, but the information you are requesting does not exist.

    I would sugget maybe creating a windows service or outlook extension that detects this info locally and populates an entity in CRM that keeps track of this for each client using web services.


    Jamie Miley
    • Proposed as answer by Jamie MileyModerator Thursday, March 3, 2011 4:32 PM
    • Unproposed as answer by Keithkl Thursday, March 3, 2011 9:27 PM
    Thursday, March 3, 2011 4:31 PM
    Moderator
  • Thanks for the response.

    So, if the fact that the Outlook client has been installed, isn't being tracked, how does CRM detect that you have another installation of the Outlook client for the same user?

    Thursday, March 3, 2011 4:53 PM
  • I have a hunch that the "multiple Outlook installation" tracking is stored in the Subscription table:

    CREATE TABLE [dbo].[Subscription](
    	[SubscriptionId] [uniqueidentifier] NOT NULL,
    	[SystemUserId] [uniqueidentifier] NOT NULL,
    	[MachineName] [nvarchar](200) NULL,
    	[LastSyncStartedOn] [datetime] NULL,
    	[SyncEntryTableName] [nvarchar](128) NOT NULL,
    	[SubscriptionType] [int] NULL,
    	[CompletedSyncStartedOn] [datetime] NULL,
    	[ReInitialize] [bit] NOT NULL CONSTRAINT [DF_Subscription_ReInitialize] DEFAULT ((0)),
    	[UTCConversionTimeZoneCode] [int] NULL,
    	[TimeZoneRuleVersionNumber] [int] NULL,
    	[CompletedSyncVersionNumber] [bigint] NULL
    )
    

    The columns of particular interest to you are SystemUserId (User), MachineName (machine on which the Outlook client is installed) and SubscriptionType which can have the following values:

    public static class SubscriptionType
    {
    	public const int AddressBookProvider = 2;
    	public const int DataMigrationWizard = 3;
    	public const int Offline = 0;
    	public const int Outlook = 1;
    }
    
    

    I tried a quick RetrieveMultiple request to retrieve the Subscriptions in our CRM, but received an error indicating that RetrieveMultiple is not supported for 'subscription'.  The SDK documentation appears to infer the same.

    So, if you wish to interrogate such information, you'll probably have to access the DB directly.

    Note also, the absence of Rollup information as per your requirements; I don't believe this information is stored as it is not required by the CRM.

     

     


    --pogo (pat)
    • Marked as answer by Keithkl Friday, March 4, 2011 2:51 PM
    Thursday, March 3, 2011 11:32 PM
  • I do have access to the database so I was able to confirm this is what I am looking for.  Rollup versions don't seem to be available, but the other info is there.  Thanks.
    Friday, March 4, 2011 2:51 PM