We're preparing to migrate something on the order of a thousand computers from 32-bit Windows XP to 64-bit Windows 7. The thing we most specifically want to migrate, rather than have to recreate or reconfigure by hand, is the Outlook account configuration and settings; the goal is to allow the user to access their E-mail seamlessly, with the necessary program and account configuration and with whatever customizations may have been in place, as soon as they sit down at the destination computer. The Exchange server in question is the Office 365 cloud service.

Outlook 2010 is installed on the source computers, and will already be installed on the destination computers by the time the stored personality is applied. The 32-bit version of Outlook is being used in both cases.

Everything I've found, in documentation and elsewhere, seems to indicate that the only thing necessary for this to work is to select the appropriate options when building the Personality Migration template. However, I am encountering problems when launching Outlook after restoring the personality.

The procedure I am using is as follows:

* Using the Personality Migration Template Builder, create a Personality Migration template, and check the box for "Microsoft Outlook". (There are other settings in the template, and I can report which ones if necessary, but IMO if making this work requires migrating - or not migrating - specific other things as well then that fact should at least be documented.)

* Using a "Store Personality" action in a ZENworks bundle, on a Windows XP 32-bit workstation, store the personality of a user who has created an account and made configuration changes in Microsoft Outlook.

* Using an "Apply Personality" action in another bundle, with an almost identical template (differing only in the configuration of which users to migrate), apply the stored personality on a Windows 7 64-bit workstation.

* Reboot the Windows 7 workstation.

* Log in as the user whose Outlook profile was on the source machine.

* Launch Outlook.

What I expect to happen at this point is that Outlook prompts for login information for that user's E-mail account, accepts it, and launches successfully, with the user's configuration changes already present.

What actually happens is:

* A "Windows Security" dialog appears, asking for credentials for an account (or perhaps a mailbox) named '32hexdigitGUID-username', which is the CN of the user's mailbox as stored in the Registry on the source machine.

* I provide the requested credentials in the form of the user's E-mail address and E-mail password. (Nothing else I've tried is accepted.)

* I get an error dialog reading "The name cannot be matched to a name in the address list" appears, with only an "OK" button.

* A "Microsoft Exchange" dialog appears, with text boxes to edit the server and mailbox names. The displayed mailbox name is the same '32hexdigitGUID-username' as on the credentials dialog.

* I replace the name of the mailbox with the correct one, and click the adjacent "Check Name" button. (The correct one is the user's E-mail address. This was determined from the fact that on the source computer the account name in the "Account Settings" dialog under the Mail Control Panel is that address, but on the destination computer the account name is that '32hexdigitGUID-username'.)

* Another authentication prompt appears, apparently for the same mailbox as before; I provide the same credentials as before.

* I am returned to the "Microsoft Exchange" dialog, with the E-mail address replaced with the user's name, and underlined. I click "OK".

* Another authentication prompt appears. I provide the same credentials as before.

* Outlook launches successfully, with the user's configuration changes already present. However, Cached Exchange Mode is disabled, whereas on the source computer it was enabled.

It would be technically possible to perform the migration this way, but it would be very far from "It Just Works", and the experience would certainly not be seamless for the user. As such, I very strongly suspect that this is not how it's supposed to work. However, I haven't been able to find any hint of what I might be doing wrong.

Any ideas here, or am I correct in suspecting that this is the sort of thing for which service requests are intended?