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:
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:
Outlook.pst
file you placed on the system, select
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.
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: