|
Please first see
<Disclaimer> section at the
bottom.
This
document is related to MS Project's standalone desktop
versions/editions.
This article describes
a simple method to determine the version of an mpp file.
Background
MS Project creates
project plan files with “.mpp” file extension by default. The mpp file
extension represents a proprietary file format recognized by MS Project.
Note
XP may not display
file extensions by default in Windows Explorer. The settings can be
modified to display the file extensions in Windows Explorer’s Folder
Options dialog box if you have required permissions. Display of the
file extentions can make it a lot easier to work with the files in
Windows Explorer.
Team members working
on the same project in different locations often need to exchange MS Project
files but it may not be always possible to have the same version of MS
Project installed in all locations. MS Project supports opening from and
saving to earlier formats, thus enables us to share mpp files in a mixed
version environment, as long as we keep the versions at all locations
updated with the latest release of Hotfixes or Service Packs.
As an example, a user
working with MS Project 2010 in location A, creates a new project plan and
saves it to MS Project 2007 version format and then sends the file to
another user using MS Project 2007 in location B. The user in location
B, opens the file with MS Project 2007, works on the file and then sends it
back to the original user in location A without any conversion since MS
Project 2010 is “backward compatible” and can open from the file formats of
earlier versions, including MS Project 98.
Important Note
Service Pack 3
for MS Project
2003 contains a file converter that enables MS Project 2003 to
read the
MS Project 2007 file format, so MS Project 2003 can open the mpp
files from the file format of MS Project 2007. MS Project 2003 cannot
open the mpp files from the file format of MS
Project 2010. None of the other versions can open the mpp files
from the file format of later versions.
MS Project 2010 is
backward compatible with MS Project 98 (MS Project 2010 supports opening
from the MS Project 98 file format) but MS Project 2010 cannot save to the
MS Project 98 file format.
Some data related
to the changed or the new features of the currently used version may be
lost while saving to the file formats of earlier versions. Read
the related product documentation for incompatible features if you are
sharing files with earlier versions.
Why do we need MS Project file version
information ?
If we share the mpp
files with users of different versions not updated with the latest Hoxfixes
or Service Packs, we all may have some problems while working with those
files. The version information of an mpp file may help us resolve the issues
caused by missing updates. It is also a good practice to double-check the
version information provided by the user sending the file.
There may be some old
mpp files in our archive with no version information available. We do not
need to find out what MS Project version can open the file by a
time-consuming trial and error process if we can get the version information
directly from the mpp file at the beginning.
Method to determine the version of an
mpp file
In the method
described below, a simple batch file created filters the information
extracted from an mpp file for any string containing “.MPP”
or any string containing the pattern “[0-9]
, . , . . . . , . . . .".
The pattern is
composed of
a dot that matches any
character in the string, a comma that matches a comma in the string and the
optional items expression “[0-9]” that matches any digit from 0 to 9 in the
string. The batch file displays any string containing “.MPP” or the pattern
composed of the wildcard and regular characters.
The method is based on
the assumption that any match with “.MPP” in the string contains the version
number of the mpp file and any string matching the pattern contains the
version number of MS Project used to save the file (See Remarks).
Follow the steps below
to create the batch file:
Important Note
If you are not
familiar with creating and modifying batch files or do not have
permissions to create and work with such files in your system, please
consult your IT Administrator.
@ECHO
OFF
REM
Version.bat
ECHO
Filename: %1
ECHO.
ECHO
-- CHECK FOR PROJECT VERSION --
strings %1 | findstr "[0-9],.,....,...." 2>NUL
ECHO
Check the following list for the first one or two digits of the string
above (xx,.,....,....)
ECHO
List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11 (2003), 12
(2007), 14 (2010)
ECHO.
ECHO
-- CHECK FOR MPP FILE VERSION --
strings %1 | findstr ".MPP" 2>NUL
ECHO
Check the following list for the digit(s) at the end of the string above
(...MPPxx)
ECHO
List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14
(2010)
ECHO.
PAUSE
Note
In Notepad, set Save as type: to
All Files and enter Version.bat into
the File name: box and click OK to save the file.
-
Version.bat
uses Strings program to extract version information from the mpp
files. Download and unzip Strings into the same directory as Version.bat (See the section “The programs and commands used in
Version.bat file”).
-
Create a Desktop
shortcut for Version.bat.
Testing the batch file
Important Note
The batch file
opens the mpp file for only reading but always make backup copies of
your mpp files before testing the batch file on the mpp files; work in a
test folder with test files.
Syntax errors may
occur because of incorrect typing at the beginning. Be careful not to
accidentally overwrite the mpp file.
Note
A practical way to
run the batch file on an mpp file would be as follows:
If you have
permissions, place a shortcut to Version.bat in SendTo
directory. SendTo directory is hidden by default in XP desktop
system. The path of SendTo directory is “C:\Documents and
Settings\<your profile name>\SendTo” in XP. Right-click on any mpp file
to display shortcut menu (contextual menu); then apply Send To
}
Version.bat to run the batch file. Version.bat shortcut
can be renamed to “DISPLAY MPP VERSION” without extension “.bat”
to find it easily in the command list of the shortcut menu. We can also
change the icon of the shortcut.
-
While the cmd
window is open, right-click on the title to open Properties dialog box
and change default settings for a better appearance.
-
The following is
the output from Version.bat for an example mpp file saved to MS
Project 98 format with MS Project 2003 but assume that we do not have
this information at the beginning:
Filename: C:\ProjectPlan.mpp
-- CHECK FOR PROJECT VERSION --
11,3,2007,1529
11,3,2007,1529
Check the following list for the first one or two digits of the
string above (xx,.,....,....)
List of xx (Product Name): 8 (98), 9 (2000), 10 (2002),
11 (2003),
12 (2007), 14 (2010)
-- CHECK FOR MPP FILE VERSION --
MSProject.MPP8
Check the following list for the digit(s) at the end of the string
above (...MPPxx)
List of xx (Product Name):
8 (98), 9 (2000/2002/2003), 12
(2007), 14 (2010)
Press any key to continue . . .
-
Let’s review the
output to find out the version information.
-
The batch file
finds two occurrences of the search pattern in the mpp file as 11,3,2007,1529.
The first two
digits in the string listed is 11. This is the internally used version
number or major version number. The batch file also lists some
combinations for lookup; “11” is in the lookup list and the number in
parenthesis next to “11” is the year part of the product name which is
2003.
So we assume that
the mpp file was saved with MS Project 2003.
Note
The batch file may
sometimes display some irrelevant lines containing the search strings
but it is not difficult to distinguish them from the relevant
information.
It is possible to
further process the output from Strings program using text
processing utilities and batch processing features to clean the
unnecessary portions but it is always the best to keep it as simple as
possible.
The latest update
available for MS Project 2003 is listed as SP3 in the Update Center
at http://technet.microsoft.com/en-us/office/ee748587 (https://web.archive.org/web/20110222005905/http://technet.microsoft.com/en-us/office/ee748587).
We now need to
find out to which version number SP3 corresponds. This is not something
that we normally do as it certainly takes time but it is sometimes a
necessary action especially while we are having some problems on an mpp
file sent to us without a version history. The version number for SP3
can be found at http://support.microsoft.com/kb/923622 (https://web.archive.org/web/20110323144317/http://support.microsoft.com/kb/923622) after a quick search for
"Description of Project 2003 Service Pack 3" in the knowledge base web
site at support.microsoft.com. It is as follows:
File name:
Winproj.exe
Version :
11.3.2007.1529
Version number is
a four-part string with the format major.minor.build.revision where
parts represent major version, minor version, build number and revision
number respectively. Build number is also called build version or
update version which is 2007 in SP3. The version number
11.3.2007.1529 given in KB article matches the comma separated one
listed (it is 11,3,2007,1529) by the batch file. As a result, we assume
that the mpp file was saved with MS Project 2003 SP3.
Important Note
The above
assumption may help you find out cause of the problem with the mpp file
but it is an assumption and should always be verified with the origin of
the mpp file.
We do not know how
the version number of the last update applied to the MS Project
originally used to save the mpp file relates to the version string found
in the mpp file by Version.bat. It is not documented.
If we check the
mpp file format version list included in the batch file output for a
lookup, MPP8 corresponds to MS Project 98. As a result, it’s an
mpp file saved to the file format of MS Project 98.
Important Note
An mpp file format
versioning system does not exist. The number “8” is used just for naming
convenience as it only means “an mpp file saved by MS Project 98” or “an
mpp file having the file format of MS Project 98”.
The programs and commands used in
Version.bat file
Echo is a built-in
command (internal command) in XP operating system. Search for Echo
in XP system help pages to have more information on the command.
@ECHO OFF
command line is used to turn the command-echoing feature off and not to
echo the echo during batch file execution.
Findstr is a
program or an external command (not like Echo which is a built-in
command) that is included in XP desktop installation by default and it
is found in “C:\Windows\System32” directory. The default system settings
allow us to access Findstr program anywhere in the system so we
do not need to include a path to file location in the command line.
Findstr
searches for patterns of text in files using regular expressions. Search
for Findstr in the system help pages to have more information on
Findstr program or visit the web site here at:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/findstr.mspx?mfr=true
(https://web.archive.org/web/20110607205635/http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/findstr.mspx?mfr=true).
In the batch file,
the pipe (|) redirects standard output of Strings program to the
standard input of Findstr program.
2>NUL
expression is used at the end of command lines to suppress any possible
error message.
Strings
is a program developed by Mark Russinovich. Strings scans the
file you pass it for UNICODE (or ASCII) strings of a default length of 3
or more UNICODE (or ASCII) characters. Visit the web site below to
download Strings program:
http://technet.microsoft.com/en-us/sysinternals/bb897439 (https://learn.microsoft.com/en-us/sysinternals/downloads/strings)
Important Note
We need to place
Strings program in the same directory with Version.bat
since Version.bat will search the current directory to locate Strings program by default during the execution if we do not provide
any path information in the command line.
URLs of the product web pages
containing related information
Project
2010
- Version Compatibility
and file formats
File formats supported by Project 2010
http://office.microsoft.com/en-us/project-help/file-formats-supported-by-project-2010-HA010373155.aspx
https://web.archive.org/web/20110405024928/http://office.microsoft.com/en-us/project-help/file-formats-supported-by-project-2010-HA010373155.aspx
How to determine which version of an Office 2010 product
is installed
http://support.microsoft.com/kb/2121559
https://web.archive.org/web/20110414183132/http://support.microsoft.com/kb/2121559
https://support.microsoft.com/en-us/office/about-office-what-version-of-office-am-i-using-932788b8-a3ce-44bf-bb09-e334518b8b19
Backward compatibility - Use Project 2010 with previous
versions
http://office.microsoft.com/en-us/project-help/use-project-2010-with-previous-versions-HA010351708.aspx
https://web.archive.org/web/20110308114857/http://office.microsoft.com/en-us/project-help/use-project-2010-with-previous-versions-HA010351708.aspx
Opening Project MPP files from different versions
http://office.microsoft.com/en-us/project-help/opening-project-mpp-files-from-different-versions-HA001045020.aspx
https://web.archive.org/web/20110703060700/http://office.microsoft.com/en-us/project-help/opening-project-mpp-files-from-different-versions-HA001045020.aspx
Opening .mpp Files from Earlier Versions
of Microsoft Project
Microsoft Project 2002, Microsoft
Project 2000, Microsoft Project 98
http://technet.microsoft.com/en-us/library/cc768096.aspx
https://web.archive.org/web/20120101231253/http://technet.microsoft.com/en-us/library/cc768096.aspx
https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc768096(v=technet.10)?redirectedfrom=MSDN
Migrating to Microsoft Project Standard 2002
http://technet.microsoft.com/en-us/library/cc750875.aspx
https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc750875(v=technet.10)?redirectedfrom=MSDN
SP3 for MS Project 2003
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7804
https://web.archive.org/web/20110726135851/http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7804
|