Client Automation Enterprise : MSI Package Distribution Error SDM301950

Document ID : KB000109874
Last Modified Date : 07/08/2018
Show Technical Document Details
Issue:
A SD package for a MSI is exported from a DOMAIN/Enterprise and is imported to a Enterprise.
When this package is sent to the DOMAIN, no DTS transfert is initiated. The SD job Container remains in status "Waiting" with following message :
SDM301950

Error SDM301950 means :
“Distribution Status: Waiting for the replication of computer groups or queries to this Domain Manager. [SDM301950]”
 
User-added image
 
Environment:

Client Automation 12.9, 14.0
Cause:

Package could not be distributed because a group or query linked to the package has not yet been replicated to the DOMAIN.

In case of MSI package, Advertise procedure has a prerequisite defined by AM Query "Target = UserProfile". This query is used to check that procedure is sent to User Profiles and not to Computers.

User-added image


This query is visible under Queries/All Queries folder.

If it is the first MSI registration package, this query does not exist and is automatically created.
So Package Distribution job for this package remains in Waiting status with code SDM301950 until this query is replicated to the DOMAIN.


If some MSI packages have already been registered at Enterprise, query "Target = UserProfile" is already present and should be already replicated to DOMAIN.
In this case cause of error SDM301950 is different :
 
When a Software Delivery (SD) "MSI package" is exported, file reginof\itemproc.dat contain a section [Prereq1] for procedure Advertise like this :
 
[ItemProc1]
                ItemName = Advertise
                ItemVersion = 1.0
                OSType = 2

 
[Prereq1]
                UUID = 95064F44-583F-489B-BF83-592C858B3F9E
                Title = "Target = Userprofile"
                TargetType = 0
 

Query « Target = Userprofile » appears with its UUID in DOMAIN where it has been exported.

When this package is imported to another DOMAIN or ENTERPRISE, query with this UUID does not exist. So a new query should be created.
As query with name "Target = Userprofile" already exists, a name is automatically generated with following format :
 
<USD-package name package version:AdvertiseUSDSYS_1>

Example :
 
User-added image
 
User-added image


As query does not exist yet on DOMAIN, package distribution is not possible until this query is replicated to DOMAIN by execution of replication download job on the DOMAIN.

 
Resolution:

Wait or force execution of "Download Replication" job attached to one engine on the DOMAIN.

OR

Follow this procedure to avoid creation of a new query when an exported SD MSI package is imported to another DOMAIN/ENTERPRISE (DM/EM) :
  • Open Microsoft SQL Server Management Studio and connect to target mdb database on DM/EM (where package should be imported). Execute following SQL Query in order to find the uuid of AM query « Target = Userprofile »
use mdb
SELECT convert(uniqueidentifier, query_uuid) FROM ca_query_def
WHERE label = 'Target = Userprofile' and target_type=0
and domain_uuid=(SELECT set_val_uuid FROM ca_settings WHERE set_id=1)
 
 User-added image
 
 
  • In Exported package edit the file reginfo\itemproc.dat with text editor.
On line UUID under section [Prereq1] of Advertise procedure [ItemProc1] replace the value by one found in step 1.
 
User-added image
 
Save the file
 
  • Import the package. Advertise procedure will use query « Target = Userprofile » which is already present in Enterprise database and replicated to all DOMAIN. Distribution of package should not be delayed waiting replication.