First published on TECHNET on Dec 12, 2006
Several customers have asked us how to move the Offline Files cache location from the default location (c:windowscsc) to another volume. Here is a procedure for doing this.
-
From an elevated command prompt, run the following command:
REG ADD "HKLMSystemCurrentControlSetServicesCSCParameters" /v MigrationParameters /t REG_DWORD /d 1 /f
-
Run the following command as a user who is a local administrator, substituting the drive letter if necessary:
c:windowssystem32migwizmigwiz.exe
-
In the Windows Easy Transfer wizard, select the following options as you progress through the wizard:
a. Click
Start a New Transfer
.
b. Click
My old computer
.
c.
Click Use a CD, DVD or other removable media
.
d. Click
External hard disk or to a network location
.
e. Enter a path where you want to save Savedata.mig, and then click
Next
.
f. Click
Advanced options
.
g. On the
Select user accounts, files, and settings to transfer
page, do the following:
i. Deselect all check boxes.
ii.Under
System and program settings (all users)
, expand
Windows Settings
, expand
Network and Internet
, and then select the
Offline Files
check box.
iii. Repeat the previous procedure for each user listed on the page.
h. Click
Next
to begin the transfer process.
-
In the registry, create a string value called
CacheLocation
under HKLMSystemCurrentControlSetServicesCSCParameters. To this value, assign the NT format name of the new folder where you want the cache to be. For example, if you want the cache to be in d:csc, type
??d:csc
.
Create d:csc (or whatever path you used in the previous step).
-
Restart the computer.
-
Run c:windowssystem32migwizmigwiz.exe and select the following options as you progress through the wizard:
a. Click
Continue a transfer in progress
.
b. Click
No, I've copied files and settings to a CD, DVD, or other removable media
.
c. Click
On an external hard disk or network location
.
d. Enter the path to the .mig file created in Step 3e.
e. Map the user account on the old computer to the corresponding one on the new computer.
f. Click
Next
, and then click
Transfer
.
-
Log off, log on, and then make sure you can correctly access your offline files.
Deleting the Old Cache
Assuming everything got moved correctly, you can delete the old cache from an RC1 build by typing the following commands from an elevated command prompt:
takeown /r /f c:windowscsc
rd /s c:windowscsc
The limitation of this method of deleting the old cache is that Takeown.exe can only process paths up to MAX_PATH (260) in length. If this path length is exceeded, the takeown command will fail. To work around this, the suggested method is to move the cache location back to the old one using step 4 again, set a registry key to clear the cache, reboot, and then move the cache back to the new location. Here are the steps.
-
Due to step 4 above of cache moving instructions, there should already be a string value called
CacheLocation
under HKLMSystemCurrentControlSetServicesCSCParameters. To this value, assign the NT format name of the old folder where the cache was previously stored. For example, if the old cache was in c:windowscsc, type
??c:windowscsc
.
-
Restart the computer.
-
In registry, create a DWORD value called
FormatDatabase
under HKLMSystemCurrentControlSetServicesCSCParameters. To this value, assign the value of 1.
-
Restart the computer (and log in preferably as a local admin user, so that folder redirection does not kick in again. The other option is to disconnect the network before you log in).
-
Now assign the CacheLocation reg key back to the new location like step 4 of cache moving instructions.
-
Restart the computer.
--Jill (with input from Navjot Virk, Sriram Srinivasan, and Shubhankar Sanyal)