Hallo zusammen,
eine kleine Frage zum "Set software installed" Befehl.
die Funktionsweise mit True und False ist ja soweit ganz OK und logisch.
Ich würde aber gerne statt eine Software nach dem Uninstall auf "False" zu setzen den Eintrag für die Software in der DB komplett löschen. Da der Befehl diese Option leider nicht bietet muss da wohl eine SQL Query herhalten. Wie müsste diese denn aussehen?
Danke vorab.
MFG
M. Kratz
Frage zu "Set software installed"
Hallo Herr Kratz,
löschen Sie bitte nichts aus der Tabelle "SYS_SW_CLIENTCOMMANDS" ohne vorbereitende Massnahmen wie unter anderem
a) überprüfen, dass die Software in keinem Query-Filter benutzt wird
b) in keinem Lizenzpaket im Lizenzmanagement benutzt wird.
ACMP sieht das Löschen von normalisierten Software-Daten momentan noch nicht vor. Um Seiteneffekte zu vermeiden, bitte nur die Client-spezifischen Daten löschen.
Und das erfragen Sie ja auch.
Das kann man in der Tabelle "CLT_SW_CLIENTCOMMANDS_RESULTS" tun:
Versuchen Sie es im MS Management Studio mit dem unten stehenden Code (falls Sie Hilfe zur Vorgehensweise benötigen, können Sie sich gerne mit unserem Support in Verbindung setzen):
ACHTUNG: Das doppelte "FROM" ist kein Tippfehler!
Sie sollten im TSQL-Code in der Where-Klausel den Namen Ihres Client Commands (CC) anpassen, jenes CC, das die Software auf dem Client als installiert setzt (Set Software Installed). Ich vermute mal, dass Sie kein CC namens 'TestSoftware' haben
Wenn Sie verhindern wollen, dass Sie versehentlich einen Eintrag löschen, obschon die Software installiert ist (Result = 1), können sie die Konjunktion (logisches UND) der Where-Klausel aktivieren, indem Sie die beiden Bindestriche aus dem Code herausnehemen (das sind Kommentierungtags).
Beste Grüße aus Soest und schönes Wochende
löschen Sie bitte nichts aus der Tabelle "SYS_SW_CLIENTCOMMANDS" ohne vorbereitende Massnahmen wie unter anderem
a) überprüfen, dass die Software in keinem Query-Filter benutzt wird
b) in keinem Lizenzpaket im Lizenzmanagement benutzt wird.
ACMP sieht das Löschen von normalisierten Software-Daten momentan noch nicht vor. Um Seiteneffekte zu vermeiden, bitte nur die Client-spezifischen Daten löschen.
Und das erfragen Sie ja auch.
Das kann man in der Tabelle "CLT_SW_CLIENTCOMMANDS_RESULTS" tun:
Versuchen Sie es im MS Management Studio mit dem unten stehenden Code (falls Sie Hilfe zur Vorgehensweise benötigen, können Sie sich gerne mit unserem Support in Verbindung setzen):
Code: Alles auswählen
DELETE FROM CLT_SW_CLIENTCOMMANDS_RESULTS
FROM
CLT_SW_CLIENTCOMMANDS_RESULTS cr inner join SYS_SW_CLIENTCOMMANDS cc
on cr.SWID = cc.SWID
WHERE (cc.SWName = 'TestSoftware')
-- AND (cr.Result <> 1)
Sie sollten im TSQL-Code in der Where-Klausel den Namen Ihres Client Commands (CC) anpassen, jenes CC, das die Software auf dem Client als installiert setzt (Set Software Installed). Ich vermute mal, dass Sie kein CC namens 'TestSoftware' haben
Wenn Sie verhindern wollen, dass Sie versehentlich einen Eintrag löschen, obschon die Software installiert ist (Result = 1), können sie die Konjunktion (logisches UND) der Where-Klausel aktivieren, indem Sie die beiden Bindestriche aus dem Code herausnehemen (das sind Kommentierungtags).
Beste Grüße aus Soest und schönes Wochende
Hallo Hr Korth,
danke nochmal für das freundliche Gespräch.
Da nun alles so funktioniert wie ich mir das wünsche hier noch für den nächsten mit ähnlichen Wünschen die Query und Ihnen ein schönes Wochenende.
Löscht den Eintrag unter SWName in den Details des ausführenden Clients wenn das Result auf 0 steht (Version für Ausführung aus einem Client Command):
danke nochmal für das freundliche Gespräch.
Da nun alles so funktioniert wie ich mir das wünsche hier noch für den nächsten mit ähnlichen Wünschen die Query und Ihnen ein schönes Wochenende.
Löscht den Eintrag unter SWName in den Details des ausführenden Clients wenn das Result auf 0 steht (Version für Ausführung aus einem Client Command):
Code: Alles auswählen
DELETE FROM CLT_SW_CLIENTCOMMANDS_RESULTS
FROM
CLT_SW_CLIENTCOMMANDS_RESULTS cr inner join SYS_SW_CLIENTCOMMANDS cc
on cr.SWID = cc.SWID
WHERE (cc.SWName = 'Softwarename')
AND (cr.Result = 0)
AND (cr.clientID = '%ACMPCLIENTID%')