Moving Outlook Data from One System to Another

I needed to copy information in Outlook from my wife's Windows XP Media Center Edition desktop system to a new laptop running Windows Vista Home Premium for a trip. She wanted to have access to her email and contact information. Outlook 2003 was installed on both systems, but there was nothing in Outlook on the new laptop, yet, so I could simply overwrite the file there. On the desktop system, I had her system set up to communicate with an Exchange server as well as a POP3 server.

Outlook on the desktop system was using an offline storage (.ost) file to store its information, such as mail, contacts, calendar, and tasks. But Outlook on the laptop, which was running Windows Vista Home Premium, wasn't part of the domain, wasn't set up to work with the Exchange server, and didn't even recognize the OST file as one it could open. I decided I would just export the information from Outlook on the desktop system to an Outlook personal storage (.pst) file and overwrite the PST file on the laptop with the one I created on the desktop system. The steps listed below can be taken for that process.

In Outlook 2003 on the system from which you are copying the information, take the following steps:

  1. Click on File.
  2. Click on Import and Export.
  3. Select Export to a File.
  4. Click on Next.
  5. Select Personal Folder File (.pst).
  6. Click on Next.
  7. Mailbox should be selected; check Include subfolders then click on Next.
  8. Export to Outlook.pst, though you can choose another name, if you prefer.
  9. Click on Finish.
  10. Unless you want the file encrypted and password protected, check No Encryption, then click on OK. If you do want it encrypted, you can select one of the encryption options and specify and confirm a password.

Outlook should not be running on the destination system. Presuming there is nothing you need saved in Outlook on the destination system, delete the Outlook.pst file on it, which will normally be located under Users > Username > AppData > Local > Microsoft > Outlook on a Windows Vista system or Documents and settings > Username > Local Settings > Application Data > Microsoft > Outlook on a Windows XP system. Then copy the Outlook.pst file from the source system that you created by the above steps to the location on the destination system where the Outlook.pst file was located that you deleted.

If you don't see the folders mentioned above, it is likely because Windows is not configured to display system and hidden folders. To make hidden and system files visible in Windows XP, take the steps listed at View Hidden and System Files. For instructions on viewing such files under Windows Vista, see How to View Hidden and System Files and Folders in Vista.

If you are having problems finding the location where Outlook 2003 is storing its PST file, you can check the location in Outlook by right-clicking on Personal Folders, selecting Properties for "Personal Folders", then clicking on the Advanced tab. In the Filename field, you will see the location for the file. You may not be able to see the full pathname and filename, but you can click in the field and then use the right arrow key to move to the right to see the rest of the information in the field. You can copy the location, by clicking in the field where the information starts at the left and then holding down the mouse button and dragging the mouse to the right to highlight the entire contents of the field. Then hit the Ctrl and C keys simultaneously to copy the contents of the field. You can then paste the info into the Windows Notepad, Word, etc. by hitting Ctrl-V.

Once you have copied the Outlook.pst file from one system to the other, you should then be able to open Outlook on the destination system and see all of the mail, contacts, calendar entries, and tasks that were in Outlook on the source system. Of course, mail downloaded from this point onwards will only go into one of those files, depending on which system is being used to download the email. It won't be synchronized between the two systems when you use a PST file for storing the information.

You may also want to copy signatures and stationery for Outlook from one system to another. On a Windows XP system, Outlook signatures are usually stored at C:\Documents and Settings\username\Application Data\Microsoft\Signatures. For each signature there will be an RTF, HTM, and .TXT file. To copy signatures from one PC to another, simply copy the 3 files to the appropriate directory on the second system.

The Outlook 2003 stationery for a user may be found at C:\Documents and Settings\username\Application Data\Microsoft\Stationery on an XP system. In copying stationery from the Windows XP system to the Windows Vista system, I encountered a problem. I copied the custom stationery my wife had created to Users > Username > AppData > Local > Microsoft > Windows Mail > Stationery on the Vista system, but then in Outlook 2003 on the Vista system when I went to Tools, Options, Mail Format and looked at the options for Use this stationery by default or clicked on Stationery Picker, I didn't see her custom stationery. Nor did it appear when I put it in Program Files > Common Files > Microsoft Shared > Stationery.

At outlook 2007 - stationery help, I found a posting by Sue Mosher [MVP-Outlook] that it should go into %appdata%\Microsoft\Stationery. The variable %appdata% translated into C:\Users\Username\AppData\Roaming\Microsoft\Stationery.

C:\Users\Jim>echo %appdata%\Microsoft\Stationery
C:\Users\Jim\AppData\Roaming\Microsoft\Stationery

My wife's AppData\Roaming\Microsoft\Stationery folder was empty. When I transferred her custom stationery into it, Outlook was then showing it as being available for use.

You may also want to copy all of the email account settings from one system to another. Unless you are fairly technically proficient and have worked with the Windows registry before, I would suggest just viewing the email account settings on the source system, writing down the settings and then duplicating them on the destination system. You can do so on the source system, by opening Outlook, clicking on Tools, selecting E-mail Accounts, choosing View or change existing e-mail accounts, and then clicking on Next. Then click on the Change button for each email account and make note of the settings.

The above method will likely be the simplest method for most people. However, if you are comfortable with using regedit, you can, instead, use the method detailed below. The registry editing steps below aren't terriby complicated, but since you can make a system unbootable, if you don't understand the registry and aren't careful in changing it, I don't recommend a casual PC user make changes to the registry.

Microsoft Outlook 2003 stores the email account information in the registry at HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles. On the new system I was working on, there was nothing under HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem when I started. You can export the information from the source system by running regedit on that system. Click on the Start button. Select Run on a Windows XP system, type regedit and hit Enter. On a Windows Vista system, type regedit in the Start Search field and hit Enter. Navigate to the key listed above and click on Profiles to select it. Then click on File, Export, and save the contents of HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles to a file. You can then run regedit on the destination system, but make sure Outlook isn't open on that system, and select File and Import to import the registry settings for that branch of the registry. Select the .reg file you created earlier and click on Open. You should see a message indicating the registry values were successfully imported.

You can then open Outlook on the destination system. If you are using the same account names to login to both systems and have the same operating system, such as Windows XP, everything may work fine. But, if the operating systems and/or usernames differ, you will see error messages, if an Exchange server was being used on the source system. For instance, Outlook may not be able to find its .ost file on the destination system and you will see an Offline Folder File Settings window open prompting you to pick the location for the .ost file.

Since I was going from a Windows XP system to a Windows Vista Home Premium system, I browsed to Users > Username > App Data > Local > Microsoft > Outlook and selected Outlook.ost for the file name. Since no such file existed on the destination system, I saw the message "The file C:\Users\Jim\AppData\Local\Microsoft\Outlook\outlook.pst could not be found. Would you like to create it?" I chose Yes. In my case, once I created the OST file on the new system, I decided to stick with it, so I deleted the PST file I created on the Vista system earlier as detailed above. But, if you aren't using a system with an Exchange server using cached Exchange mode, so that you have an OST file rather than a PST file, then the last bit of these instructions that reference creating an OST file won't apply.

I've also copied the Outlook.pst and Outlook.ost files from a Windows XP Professional system running Outlook 2007 to a Windows Vista Home Premium system running Outlook 2007 and used the registry copy technique, though not without some problems. I was able to resolve the problems, but it may just be easier for you to recreate the settings rather than try to copy and then modify the relevant registry entries. Outlook on the XP system was checking both an account on a Microsoft Exchange serve and a POP3 account.

In that case, the user account on the XP system didn't have the needed privileges to run the regedit command, so I ran the command from an account with administrator privileges then navigated to HKEY_USERS and looked for the relevant account. There were only two accounts on the system, the administrator account and the user account, so there were only two Security Identifiers (SIDs) to check to determine which one I needed to use. Under HKEY_USERS you will see top-level branches such as S-1-5-21-4253949833..., i.e. an "S" followed by a long string of digits. Those are SIDs for the accounts on the system. You need to pick the correct on. In this case there was only one with a profile entry under \Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles, so it was easy to determine which was the one for the administrator account and which was the one for the user account.

If that is not easy to do on a particular system, you can also determine the SID for a particular userid using the determine-sid.vbs script. Save the code to a file named determine-sid.vbs, then, from a command line enter the command cscript determine-sid.vbs Userid ComputerName_or_DomainName . Or you can just use cscript determine-sid.vbs and you will be prompted to provide the userid for which you want to determine the SID and either the name of the computer on which you are running the script or, if the computer is in an office environment where it is part of a domain and you need to determine the SID for a domain account, then you can provide the domain name, instead. Once you have the SID you need, then you can look in the registry for the appropriate key. Note: this is only necessary, if you can't simply look under HKEY_CURRENT_USER while logged into that particular user account. For most people these additional steps won't be needed.

Once you've created a .reg file on the original system and transferred it to the new system, you can open the file in Notepad and replace any references to the SID of the account on the original system with the appropriate SID of the account on the new system. You can then use the "File" and "Import" technique in regedit mentioned above or you can simply double-click on the .reg file to run it. You will be asked to confirm that you do indeed wish to add information to the registry. Click on "Yes" to proceed. Outlook should not be open when you modify the registry. If you happen to be logged into the account for which you are modifying the registry settings, you will need to logoff and back on to have the new settings take effect, if you've modified the keys under HKEY_USERS rather than HKEY_CURRENT_USER.

If you get a message such as "File access is denied. You do not have the permission required to access the file "C:\Documents and Settings\Jim\Local Settings\Application Data\Microsoft\Outlook\outlook.ost" or "Cannot open your default e-mail folders. File access is denied. You do not have the permission required to access the file C:\Documents and Settings\Jim\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst." then you my have to change the permissions on the .ost and/or .pst files to allow the relevant account access to the files. To do so, you will need to be able to view hidden and system files.

For Vista systems, follow the steps at Show Hidden Files and Folders in Windows Vista. Then locate the files mentioned. For each file mentioned, right-click on the file, choose Properties, then click on the Security tab. Click on the Advanced button, then click on the Owner tab. If the owner isn't the relevant account change the owner to the appropriate account. Also, under the Permissions tab, make sure that the "Include inheritable permissions from this object's parent" is checked.

You may also get those error messages, if the registry entries you added for the Outlook profile point to locations on the original system that don't exist on the new system. In that case, if Outlook is your default mail client, you can click on the Start button. You should then see an icon near the top of the menu that appears labelled "E-mail Microsoft Outlook". Right-click on that icon and choose Properties. Click on the Data Files button. Under the Data Files tab that appears on the Account Settings window, you will see the file location(s) listed for the Outlook.ost and/or Outlook.pst files listed. If the locations listed under Filename or incorrect, click on the E-mail tab. For the Outlook.pst file, you should be able to click on the Change Folder button and then take the following steps:

  1. Click on the New Outlook Data File button.
  2. Select Office Outlook Personal Folders File (.pst).
  3. Click on OK.
  4. Locate the Outlook.pst file you placed on the system, select it, and then click on OK.
  5. Click on OK button on the Personal Folders window that appears.
  6. You will be prompted to specify a "New E-mail Delivery Location". That will normally be the Inbox, which should be highlighted by default. If it is highlighted, click on OK. If not, highlight it and then click on OK.

When I did the above, I received an error message that "The server is not available." But I was able to see "Personal Folders" entries listed then under the Data Files tab. I made the new one the default by clicking on "Set as Default". I then tried to remove the old one that pointed to a location that existed on the original system, but not the new one. When I initially tried deleting it, I received the message "You cannot delete this Outlook data file. Configuration information in the file is being copied to your new default data file. You can delete the file after this information is copied."

I tried opening Outlook; this time it opened, though I still got the message regarding it trying to open the outlook.ost file at the nonexistent location. I just clicked on OK and was able to proceed. Then in the left pane of Outlook 2007 where my list of folders appears, I saw two "Personal Folders" entries. Clicking on the bottom one produced "The set of folders cannot be opened. File access is denied. You do not have the permission required to access the file C:\Documents and Settings\Jim\Local Settings\Application Data\Microsoft\Outlook.pst." That was because that location was valid on the XP system, but not on the Vista system where I had copied the PST file and transferred the registry settings. I clicked on OK then right-clicked on that "Personal Folders" entry and chose "Close Personal Folders". I then closed Outlook and went back to the Data Files tab where I had seen the incorrect PST file entry I hadn't been able to remove before. It was no longer there. The incorrect OST file entry was still there, however.

I started Outlook again and still got the error message pointing to the incorrect location for the .ost file. When I looked at the left-hand pane of Outlook, I saw "Personal Folders" and then "Mailbox" with my name below it. I have all of my incoming email routed to the PST file rather than the OST file, since I have a 250 MB limit for email on the Exchange server. I right clicked on "Mailbox", but I couldn't close it. I got the message "This group of folders is associated with an e-mail account. To remove the account, on the Tools menu, click Account Settings, select the account, and then click Remove." But that didn't work.

You might think you could just edit the relevant registry entry, but that isn't as easy as you might expect, because the data is stored in the Outlook profile registry entries as binary data. You can't just search the registry with regedit for Outlook.ost for instance. That is because Regedit.exe Cannot Search for DWORD or Binary Data. The Find tool in Registry Editor (Regedit.exe) searches for string values only. It is not able to locate data contained in a DWORD or Binary value.

To search for data contained in a DWORD or Binary value, you must first export the branch you want to search to a text file. Then, open the file in a text editor and use the editor's search tool to find the data.

So, within regedit, I right-clicked on HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook then chose Export. For Save as Type, I changed the value to "Text Files (*.txt)". I then opened the text file I created with Notepad. You can't just search for "Outlook.ost", since there are null, i.e. 00, characters stored between each character. They show up in an ASCII representation as dots. E.g. Outlook.ost would be O.u.t.l.o.o.k...o.s.t.

Since the "Outlook.ost" could be broken across multiple lines, I decided just to search for o.s.t. I found the following in the text file I had created.

Value 31
  Name:            001f6610
  Type:            REG_BINARY
  Data:            
00000000   43 00 3a 00 5c 00 44 00 - 6f 00 63 00 75 00 6d 00  C.:.\.D.o.c.u.m.
00000010   65 00 6e 00 74 00 73 00 - 20 00 61 00 6e 00 64 00  e.n.t.s. .a.n.d.
00000020   20 00 53 00 65 00 74 00 - 74 00 69 00 6e 00 67 00   .S.e.t.t.i.n.g.
00000030   73 00 5c 00 4a 00 69 00 - 6d 00 5c 00 4c 00 6f 00  s.\.J.i.m.\.L.o.
00000040   63 00 61 00 6c 00 20 00 - 53 00 65 00 74 00 74 00  c.a.l. .S.e.t.t.
00000050   69 00 6e 00 67 00 73 00 - 5c 00 41 00 70 00 70 00  i.n.g.s.\.A.p.p.
00000060   6c 00 69 00 63 00 61 00 - 74 00 69 00 6f 00 6e 00  l.i.c.a.t.i.o.n.
00000070   20 00 44 00 61 00 74 00 - 61 00 5c 00 4d 00 69 00   .D.a.t.a.\.M.i.
00000080   63 00 72 00 6f 00 73 00 - 6f 00 66 00 74 00 5c 00  c.r.o.s.o.f.t.\.
00000090   4f 00 75 00 74 00 6c 00 - 6f 00 6f 00 6b 00 5c 00  O.u.t.l.o.o.k.\.
000000a0   6f 00 75 00 74 00 6c 00 - 6f 00 6f 00 6b 00 2e 00  o.u.t.l.o.o.k...
000000b0   6f 00 73 00 74 00 00 00 -                          o.s.t...

I could also have searched in the .reg file I created when I exported the registry information from the other computer. But, again, you can't just search for "Outlook.ost" in the .reg file you created, either, since the information in it is the hexadecimal representation of the binary data in the registry keys. You would need to convert a string, such as "ost" to hexadecimal form. You can do that at String - ASCII, HEX, Binary Converter. In the String field, I put in ost. The converter showed me the equivalent hex value is 6F 73 74. Note: the converter shows decimal/ASCII, binary, and hex values. Make sure you use the correct one. Also note that the hexadecimal representation of "OST" is not the same as "ost". Since the error message I received referred to Outlook.ost, I converted "ost" to hexadecimal. Again, it may be better to limit the length of the string to reduce the chance it will be broken across multiple lines in the file.

Once you have the hexadecimal equivalent of the ASCII string, you still can't just search for it, i.e. a search for 6F7374 wouldn't work. The hexadecimal numbers are stored in the .reg file with commas and the null character, 00, between them. I.e., I would need to search for 6f,00,73,00,74 instead.

In the .reg file found it among the following lines:

"001f6610"=hex:43,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,74,\
  00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6e,00,\
  67,00,73,00,5c,00,4a,00,69,00,6d,00,5c,00,4c,00,6f,00,63,00,61,00,6c,00,20,\
  00,53,00,65,00,74,00,74,00,69,00,6e,00,67,00,73,00,5c,00,41,00,70,00,70,00,\
  6c,00,69,00,63,00,61,00,74,00,69,00,6f,00,6e,00,20,00,44,00,61,00,74,00,61,\
  00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,5c,00,4f,00,\
  75,00,74,00,6c,00,6f,00,6f,00,6b,00,5c,00,6f,00,75,00,74,00,6c,00,6f,00,6f,\
  00,6b,00,2e,00,6f,00,73,00,74,00,00,00

I noticed it was associated with a "001f6610" entry. When I had searched the text file, I had also seen Outlook.ost associated with "Name: 001f6610". So I then searched for 001f6610 in regedit. When regedit found it, I double-clicked on the entry to edit it.

Regedit - outlook.ost entry

I then clicked in the right side of the "Edit Binary Value" window and replaced C:\Documents and Settings\Jim\Local Settings\Application Data\Microsoft\Outlook\Outlook.ost with C:\Users\Jim\AppData\Local\Microsoft\Outlook\outlook.ost by right-clicking after the "t" at the end of ".ost" and then backspacing to remove everything, though leaving the 3 null characters at the end, then typing C:\Documents and Settings\Jim\Local Settings\Application Data\Microsoft\Outlook\Outlook.ost. I then clicked in the left side of the pane, where the hexadecimal characters appear and inserted null characters between every character by hitting the 0 key, which will insert 00. I clicked on OK when finished.

Unfortunately, I made a mistake when I first modified the registry entry and saw what looked like Chinese characters in the location for the file when the error message reappeared when I opened Outlook. Double-checking, I found I had put two null characters in between two other characters. When I deleted one and reopened Outlook, I no longer received the error message and was able to view folders within Mailbox in the left-hand pane of Outlook, so I had finally resolved the problem, but it would have probably been quicker to just recreate the profile on the new system rather than copy the registry settings.

References:

  1. Move an Outlook data file from one computer to another
    Outlook Home Page - Microsoft Office Online
  2. Copying Signatures from one PC to Another
    Date: March 6, 2006
    MoonPoint Support
  3. Moving Your E-mail to Another Computer
    By: Nathanael Barbettini
    Direction.Com - Discount Computer Super Store
  4. How do I synchronize Outlook 2003 between a desktop PC and laptop?
    By: Leo Notenboom
    Date: March 11, 2008
    Ask Leo! - Tech Questions? Get Answers!
  5. Where does Outlook 2003 store settings, e.g. email accounts? How do I move them to a new computer?
    Date: July 28, 2005
    Experts Exchange
  6. Transferring outlook from one pc to another
    Date: January 25, 2008
    EggHeadCafe - The .NET developer's portal of choice
  7. Reconnect your old Outlook data file
    Outlook Home Page - Microsoft Office Online
  8. Outlook & Exchange/Windows Messaging Backup and Dual-Boot
    Slipstick Systems Exchange and Outlook Solutions Center
  9. Backup and Restore
    HoTo-Outlook | Support for Microsoft Outlook
  10. Move an Outlook data file from one computer to another
    Outlook Home Page - Microsoft Office Online
  11. Installation Quick Tips for Your Outlook 2003 Stationery
    Webeze - Professional Website Design Company
  12. outlook 2007 - stationery help Date: October 11, 2006
    PC Review - Forums
  13. Outlook 2007 File Locations
    Slipstick Systems Exchange and Outlook Solutions Center
  14. Regedit.exe Cannot Search for DWORD or Binary Data
    Article ID: 161678
    Last Review: November 1, 2006
    Revision: 1.1
    Microsoft Help and Support

Valid HTML 4.01 Transitional