locked
Client Push Upgrade of 2007 client to 2012, hanging on SmsSwDistCacheDirDelete RRS feed

  • Question

  • Hi, I am testing a Client Push method of upgrading some SCCM 2007 Clients to 2012. However, the ccmsetup.log for these clients indicates the upgrade is getting stuck on the MSI: Action 11:48:21: SmsSwDistCacheDirDelete step. I have only really found 1 article (http://www.systemcenterdudes.com/sccm-client-smsswdistcachedirdelete/) on the web about this issue. Essentially they are saying the the cm2012 setup is trying to delete a ccm cache folder it cannot find, and they recommend declaring the SMSCACHEDIR during client installation.

    However, the default install location for the 2007 client was c:\windows\syswow64\ccm, and for 2012 it appears to be C:\windows\ccm. I would prefer to use the default install directory for 2012 clients, so I don't think defining the SMSCACHEDIR as the same as the 2007 client cache location is a good idea.

    Anybody else run into this issue? thanks in advance

    Tuesday, June 2, 2015 7:31 PM

Answers

  • Thanks again everybody for your help. I have confirmed that what WMI reports in the SMS Cache is different than what is actually in the folder on the file system. I used SCCM Client Center to query the cache contents via WMI. I confirmed this is an issue with the CM2007 ccmsetup/client.msi as well.

    I can also confirm that manually deleting the cache files from the Configuration Manager control panel applet GUI allows the uninstall to work correctly.

    So, I can only assume that someone, somewhere, sometime in the past used a script to clean out the cache folders on my clients, and it was done incorrectly using the file system, rather than the GUI or proper WMI methods.

    So, my next step is to build a package in CM2007 that properly deletes the cache files on all my clients to prepare them for the CM2012 client install.

    If anybody from the ConfigMgr team at Microsoft sees this, it would be nice if you could adjust the client.msi so that it doesn't try to delete non-existent cache folders for 31 seconds each. Seems like overkill to me.

    • Marked as answer by ChrisFitz Wednesday, June 3, 2015 7:06 PM
    Wednesday, June 3, 2015 3:49 PM

All replies

  • I should add that I am NOT migrating the clients from the 2007 source hierarchy. I am simply "re-discovering" the devices from Active Directory, then trying to push out the 2012 client. Perhaps that's my issue, but I don't really want all the client history etc from the 2007 hierarchy to come over into 20102. I want to start with a clean slate.
    Tuesday, June 2, 2015 8:15 PM
  •  and they recommend declaring the SMSCACHEDIR during client installation.


    Have you tried to delete the cache contents (using the control panel applet) before pushing the client (for testing purposes)?

    Torsten Meringer | http://www.mssccmfaq.de

    Tuesday, June 2, 2015 8:30 PM
  • I have manually deleted the C:\windows\syswow64\ccm\cache directory while ccmsetup is hung at the SmsSwDistCacheDirDelete step, which causes ccmsetup to start moving again and complete the install. However that is not practical for a mass client upgrade.
    Tuesday, June 2, 2015 8:35 PM
  • After further investigation, I have found in the client.msi_uninstall.log file that it is trying to delete sub folders of the cache that do not exist:

    [15:57:28] Unable to delete folder C:\WINDOWS\system32\CCM\Cache\2e44c52e-c54a-40a8-a28e-e5acfce5aa6c.1.System (0x80070002). Retry after 1 seconds
    [15:57:29] Still unable to delete folder C:\WINDOWS\system32\CCM\Cache\2e44c52e-c54a-40a8-a28e-e5acfce5aa6c.1.System (0x80070002) after 31 retries. Continue without further retry.
    [15:57:29] WARNING: Cache sub directory could not be deleted. Error 0x80070002
    [15:57:29] ERROR: Unable to enumerate files in C:\WINDOWS\system32\CCM\Cache\127520a3-f944-46c8-bf72-8a03a701f46d.1.System (0x80070003)

    None of our advertisements "persist content in client cache", so I'm not sure why ccmsetup.exe/client.msi thinks it needs to delete these subfolders.

    Any ideas out there?


    • Edited by ChrisFitz Tuesday, June 2, 2015 10:22 PM
    Tuesday, June 2, 2015 10:06 PM
  • Because client.msi for 2012 uninstalls the 2007 client first. What command-line are you using to perform the client install? Are you perhaps using the /noservice switch?

    Jason | http://blog.configmgrftw.com | @jasonsandys

    Tuesday, June 2, 2015 10:21 PM
  • I am using the Client Push installation method in the CM2012 console. The only property I am using in the Client Push Installation Properties screen is SMSSITECODE=###.

    I was thinking that the /noservice switch might actually be helpful, however, that switch applies to ccmsetup.exe, and the you can only specify client.msi properties in the Client Push Installation Properties screen.


    • Edited by ChrisFitz Tuesday, June 2, 2015 10:28 PM added screenshot
    Tuesday, June 2, 2015 10:27 PM
  • I have had the cache folder issue on clients even when I was setting them to the 2012 location.  some clients the admins deleted the folder and it moved on.  I had one hung for several hours before it completed.  I even had one that failed, the machine was restarted during the week and the install tried and completed. 

    http://www.sccm-tools.com http://sms-hints-tricks.blogspot.com

    Wednesday, June 3, 2015 12:32 AM
  • You're correct. I missed the part about you using client push.

    In cases like this where files can't be deleted, it always IME comes down to your AV product.


    Jason | http://blog.configmgrftw.com | @jasonsandys


    Wednesday, June 3, 2015 1:14 AM
  • Jason, thank you for the suggestion, but I am pretty sure it is not my AV product. I can clearly see in the client.msi_uninstall.log that it is trying to enumerate and delete folders that simply do not exist in the SMS Cache folder. Then client.msi keeps trying to delete the missing folder for 31 seconds, then moves on to the next sub folder, which is also (usually) missing.

    [18:03:02] Still unable to delete folder C:\WINDOWS\system32\CCM\Cache\7a03b28e-589d-47f7-aab6-b215feda07c5.1.System (0x80070002) after 31 retries. Continue without further retry.
    [18:03:02] WARNING: Cache sub directory could not be deleted. Error 0x80070002
    [18:03:02] ERROR: Unable to enumerate files in C:\WINDOWS\system32\CCM\Cache\a8569b01-480b-4c67-9876-9163ed772484.1.System (0x80070003)
    [18:03:02] Unable to delete folder C:\WINDOWS\system32\CCM\Cache\a8569b01-480b-4c67-9876-9163ed772484.1.System (0x80070002). Retry after 1 seconds
    

    If I just let it run, it eventually finishes. But it's taking up to 4 hours to install the client.

    It also looks like these missing folders were Software Updates, judging by the folder names. So, client.msi thinks it needs to delete these folders, so there must be a list of them somewhere. I can't find it in the registry...could it be in WMI?

    Thanks all for your suggestions.

    Wednesday, June 3, 2015 2:11 PM
  • Yes, it's in WMI and accessible via COM and the CacheInfo class:

    https://msdn.microsoft.com/en-us/library/cc142966.aspx

    More info at

    http://blogs.msdn.com/b/helaw/archive/2014/01/07/configuration-manager-cache-management.aspx


    Jason | http://blog.configmgrftw.com | @jasonsandys

    Wednesday, June 3, 2015 2:22 PM
  • Also, did the folders in the cache directory get manually deleted somehow?

    Jason | http://blog.configmgrftw.com | @jasonsandys

    Wednesday, June 3, 2015 2:23 PM
  • Thanks Jason...the files were not manually deleted that I know of. So far this problem has occurred on every server I've tested (about 10 so far). The only time it did not happen was only a fairly newly built Server2012. It has happened on older 2003 and 2008 servers every time. So its, possible, even likely, that the caches were cleared on these older servers at some point in their life time.

    I will see if I can compare what WMI thinks is in the cache with what is actually in the folder.

    Wednesday, June 3, 2015 2:35 PM
  • Thanks again everybody for your help. I have confirmed that what WMI reports in the SMS Cache is different than what is actually in the folder on the file system. I used SCCM Client Center to query the cache contents via WMI. I confirmed this is an issue with the CM2007 ccmsetup/client.msi as well.

    I can also confirm that manually deleting the cache files from the Configuration Manager control panel applet GUI allows the uninstall to work correctly.

    So, I can only assume that someone, somewhere, sometime in the past used a script to clean out the cache folders on my clients, and it was done incorrectly using the file system, rather than the GUI or proper WMI methods.

    So, my next step is to build a package in CM2007 that properly deletes the cache files on all my clients to prepare them for the CM2012 client install.

    If anybody from the ConfigMgr team at Microsoft sees this, it would be nice if you could adjust the client.msi so that it doesn't try to delete non-existent cache folders for 31 seconds each. Seems like overkill to me.

    • Marked as answer by ChrisFitz Wednesday, June 3, 2015 7:06 PM
    Wednesday, June 3, 2015 3:49 PM
  • Two things:

    - First, file this on connect.microsoft.com as a design change request as that's the best way to get the attention of the product group.

    - You could use a startup script to deploy the client agent that includes cleaning the cache first.


    Jason | http://blog.configmgrftw.com | @jasonsandys

    Wednesday, June 3, 2015 5:55 PM