You are here: University home > CSD home > SyncProfile
 

SyncProfile

Quick Overview

What is it?

Syncprofile is a tool for synchronising profile data (files and registry settings), intended as an alternative to Windows roaming profiles, and optionally also an alternative to some uses of Windows folder redirection. It's intended for use by system administrators.

What is it NOT?

It's not a generic synchronisation tool like RoboCopy, SyncToy, Rsync etc. It doesn't copy permissions or various other metadata, but it does copy registry data.

It's also not a complete replacement for folder redirection. It can be used instead of redirecting some of the profile internals (e.g. Appdata\Roaming), but it's not suitable for syncing the user-facing parts of the profile such as the Desktop or Documents folders.

What does it do?

SyncProfile synchronises the data it has been told to sync to a network location at logoff, and back again at logon, invoked via commands in your logon and logoff scripts or similar means. The data to sync is defined as one or more 'roots', which can be registry keys (including entire hives) or folders. These roots are then subject to a variety of other settings including extensive filtering. Typically, filesystem data is zipped and the zip stored on the network, while registry data is stored in a text format. This data is then used at logon to apply the user's settings to the local profile, in a "make the destination look like the source" kind of way. (I.e. it can delete as well as create and copy data.)

SyncProfile is a self-contained program, needing no installation and having no run-time dependencies. It just needs access to a UNC or drive mapping to store the profile data. This can be the user's home filestore, a per-user profile filestore or any other network storage the user has write access to.

SyncProfile can do a variety of things depending on how it is used. Broadly, it:

  • Syncs user settings for all well-behaved applications, known to IT or not, without requiring any per-application configuration.
  • Can handle most badly-behaved applications easily.
  • Syncs quickly and efficiently, adding as little as possible to logon/logoff times.
  • Does nothing at all if a user is logging back on to a PC they just logged off from.
  • Can ensure self-healing and active setup for applications will run only when genuinely needed.
  • Can separate application settings from Windows settings, allowing app settings to be common across all windows versions the user uses.
  • Filters the synchronised data to avoid filling up the network storage, and also ensure fast logon/logoff.
  • Greatly reduces file count on profile storage, and greatly reduces file lock counts at runtime.
  • Fully supports long paths.
  • Protects the user as much as possible from profile corruption arising from logging on/off to/from more than one PC at once.
  • Is not deeply hooked into Windows, and so is not tied to known windows versions.
  • Allows the user to be a normal windows user with a normal local profile.
  • Is entirely client-side. There are no SyncProfile parts that need to run on a server.

The last two points makes it a good fit with the general design philosophy for desktop services at Liverpool, which boil down to keeping the user environment simple and with as few dependencies at run-time as possible.

To be clear, there are also some things it doesn't do. Briefly, it:

  • Does not avoid the need to go through profile creation when moving to a previously unused PC. (But, it's possible to make this reasonably fast.)
  • Does not provide a mechanism for clearing up the local profiles that will accumulate on widely-used PCs. (But, this is reasonably manageable with third-party tools.)
  • Does not work for syncing settings protected by hashes, such as the default browser setting. (But, there are third-party tools that can be used alongside SyncProfile to do this for the default browser specifically.)
  • Does not provide any kind of GUI for configuring or administration purposes. Configuring SyncProfile involves editting text files; running it as intended involves scripting.

The documentation has a longer list of known issues, but many of them are not typically a problem for roaming profile data (e.g. it doesn't sync file or registry permissions).

It's also worth mentioning that although it was primarily intended as a replacement for Roaming profiles, it can also be used as a replacement for Mandatory profiles. The sync process is the same, but instead of a per-user profile location, you use one that's common to all users, and only sync at login. The latest version includes some tweaks to support that, but it's not something we've used at Liverpool.

Terms and Conditions

SyncProfile is an internal tool developed and used at the University of Liverpool. It is made available on the basis that others in the UK Higher Education sector may find it useful.

However:

  • SyncProfile and its helper utilities are provided with no warranty.
  • Use of SyncProfile and its helper utilites are entirely at your own risk.
  • There is no commitment to provide support.

That said, on the support question, if you're in the UK Higher Education sector, and are having trouble getting SyncProfile to work, or are hitting issues you would like to raise, email mikejs@liverpool.ac.uk. There is no commitment to provide support, but at the same time we'd like to see people able to use it if they want to.

Download

SyncProfile is not currently available for public download. However, the documentation is available here.

If any of this sounds useful, contact me at mikejs@liverpool.ac.uk for a download link.

The latest version is 1.4.6 (Build 388), released on 26.07.2021