Error SDM223601 - Deinstall is not allowed
search cancel

Error SDM223601 - Deinstall is not allowed

book

Article ID: 257838

calendar_today

Updated On:

Products

CA Client Automation - IT Client Manager CA Client Automation CA Client Automation - Software Delivery

Issue/Introduction

When trying to uninstall a SD Package following error appear :
 
State : Manipulation not allowed
Deinstall is not allowed: Another operation (e.g. configuration or deinstallation) has been ordered or is in progress for this installation. [SDM223601]
 
 
But there is no other uninstall SD job ordered or in progress.
 

Environment

Client Automation - All Version

Cause

This could be cause by corrupted data into usd_applic table.
A SD Package has been successfully uninstalled, but the associated install row has not been marked as uninstalled.
 
Following SQL Query returns the rows with this problem :
 
SELECT A.agent_name 'Computer Name', 
R2.itemname 'INSTALL Package Name', R2.itemversion 'INSTALL Package Version', P2.itemname 'INSTALL Procedure Name', dateadd(ss, datediff(ss,getutcdate(),getdate())+INST.completiontime, convert(datetime, '19700101')) 'INSTALL Time',
R.itemname 'UNINSTALL Package Name', R.itemversion 'UNINSTALL Package Version', P.itemname 'UNINSTALL Procedure Name', dateadd(ss, datediff(ss,getutcdate(),getdate())+ UNINST.completiontime, convert(datetime, '19700101')) 'UNINSTALL Time'
FROM usd_applic INST
INNER JOIN usd_applic UNINST ON UNINST.installation=INST.objectid
LEFT JOIN usd_actproc P ON UNINST.actproc=P.objectid
LEFT JOIN usd_rsw R ON R.objectid=P.rsw
LEFT JOIN usd_actproc P2 ON INST.actproc=P2.objectid
LEFT JOIN usd_rsw R2 ON R2.objectid=P2.rsw
LEFT JOIN ca_agent A ON UNINST.target=A.object_uuid
WHERE p.task=1 and UNINST.status=9 and INST.uninstallstate<>2 and
INST.status=9 and INST.installation=INST.objectid
ORDER BY A.agent_name, R.itemname, R.itemversion, P.itemname
 
Example:
 
 
In above example :
- computer J*45 has installed the package "TEST 1.0" on 16/01/2022 at 10:28:26
- computer J*45 has uninstalled the package "TEST 1.0" on 16/01/2022 at 10:30:31
- But the install row for "TEST 1.0" has not be marked as uninstalled (uninstallstate is still 0)
It still appears as installed Package for this machine.
If Uninstall procedure is sent again to this machine, error SDM223601 appears.

Resolution

If SQL Query above returns some rows, do this :
 
1- Stop caf :
caf stop
 
2- Execute following SQL Query :
UPDATE usd_applic
SET uninstallstate=2
FROM usd_applic
INNER JOIN usd_applic UNINST ON UNINST.installation=usd_applic.objectid
LEFT JOIN usd_actproc P ON UNINST.actproc=P.objectid
WHERE p.task=1 and UNINST.status=9 and usd_applic.uninstallstate<>2 and
usd_applic.status=9 and usd_applic.installation=usd_applic.objectid
 
3- Start caf :
caf start