Manipulating MPP files in .NET

M

mlb5000

I've searched all over and haven't been able to find anything in regards to
this, so here I am. Currently, our application allows users to import/export
MPD files relative to the data in our application. However, this does not
appear to be compatible with Project 2007 since MP2007 will not read in MPDs
from an older version which have been externally modified.

I need to find out how to work with MPP files (or some other variant of the
MP2007 file types) in order to read data from them and save data to them in
..NET. Does anyone know how to do this?

Thanks,
Matt
 
J

Jack Dahlgren

Which language are you using?
Using VB.net is probably easiest as it does not require you to supply values
for optional parameters.

There is a bunch of documentation on how to do this and all the methods,
properties etc. at the MSDN site. If I were you I'd start there.

-Jack
 
M

mlb5000

We are using VB.net. The problem I'm having is pinpointing exactly which
assemblies or SDKs I need to use based on their location in MSDN. I've found
the Project and Task objects I would likely need to work with, but I don't
know how to get at them.

I found the Microsoft Project 2007 SDK, but that seems more focused on
Microsoft Project Server 2007. Also, the goal is to not have Project
installed on the machine the application is executing on, so Interop
libraries are out of the question.

Thanks,
Matt
 
M

mlb5000

So is there no way to manipulate MPP files without having an instance of
Project accessible?

Matt
 
J

Jack Dahlgren

Correct. It might be possible to manipulate project xml files, but you would
be completely on your own as far as business logic is concerned. You could
also manipulate project databases using PSI, but .mpp files need project to
open and edit.

-Jack Dahlgren
 
M

mlb5000

I thought project databases weren't supported by Office 2007. I don't seem
them as an option for saving my project in 2007. Am I missing something?

Matt
 
A

Andrew Jacks

I think the Project Databases Jack is talking about are the Project Server
Databases not a Project database.
 
J

Jack Dahlgren

Correct.
Project Server stores the projects in a database. It should be mentioned
that ONLY the reporting database is supported for direct queries. The other
databases should use the PSI.

-Jack Dahlgren
 
M

mlb5000

Oh, so what you're saying is that the reason Microsoft did away with the
individual MPDs is because they're trying to make the push towards the
Project Server architecture?

Thanks,
Matt
 
S

Stephen Sanderlin

No, I wouldn't say that... they replaced the MPD file format with the
XML format.

Anyway, there's no way for you to manipulate MPP files unless you want
to reverse-engineer the binary format. You can export them to XML, but
as Jack says, you're totally on your own as far as DAL and BLL goes.

The schema for the Project 2007 Interchange format is here:
http://msdn.microsoft.com/en-us/library/bb968733.aspx

You could concievably translate the MPD files into XML and them import
them into PS07.

--
Stephen Sanderlin
Principal Consultant
MSProjectExperts
For Project Server Consulting: http://www.msprojectexperts.com
For Project Server Training: http://www.projectservertraining.com

Owner/Founder - EPMFAQ
http://www.epmfaq.com/
http://forums.epmfaq.com/
 
J

Jack Dahlgren

I think generally OLEDB is being phased out across the whole Office suite.
Whether this is to push users to Project Server would only be speculation,
but there are other good reasons to do this.
I think with VSTO 2008 and the new visual reports, working with Project data
is better than editing the database which was always problematic.

-Jack Dahlgren
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top