PSI Extension Generator 1.0

PSI Extensions are custom web services which tightly integrate with Project Server.  From the SDK: The Project Server Interface (PSI) for Microsoft Office Project Server 2007 can be extended with custom Web services. PSI extensions tightly integrate with Project Server, can call other PSI methods, and can use the same security infrastructure that the rest…

1

QuickPatch

I am working on a project that is turning out the builds, sometimes with just a single change in an assembly (we are in bug fixing mode).  Doing a full install each time is tedious given that it is a server application with a Windows service, several configuration tools, three Microsoft Office Project Server event…


Updated GUI For IExpress

There is a neat little tool called IExpress that has been around for a long time.  IExpress creates a self-extracting EXE from a specified set of files.   The resultant executable can be configured to prompt the user (“Are you sure you want to install?”), display a license file, run another executable (or batch file or…

2

Tools & Technologies for Building Solutions with Microsoft Project: Update on mpFx Part I

I have been working at Microsoft nearly five months already.  It is hard to believe how time flies!   Yesterday a colleague made the comment “Your blog…what happened?  Since you joined MS…no more blog?“  I didn’t intend to go dark, but I have been nonstop busy for five months.  I thought I would take time today…

2

Adventures with Windows Presentation Foundation Part I

I am finally biting the bullet and learning something about WPF.  I have Visual Studio 2008 and Expression Blend installed and I am off to the races.  I have been doing Windows programming since Windows 3.0 and followed the evolution of UI development using MFC, VB, and WinForms.   WPF is very cool.   I read this…

1

Using a Separate Application Domain to Test for Implemented Interfaces

Sometimes you need to load an assembly for use or inspection.  The problem is that loading an assembly is permanent for the lifetime of an application domain.  Sometimes this is acceptable and sometimes it is not.   Mike Shughrue and I are working on something were it is definitely not preferable.  I have a folder full…

1

It’s the Little Things Part 1

As I get further and further into the Project Server Interface (PSI), I run up against gaps in my knowledge and some times the community’s knowledge, as it exists in searchable form online.  This little "gotcha’s" can sometimes mean hours of research and experimentation.  I thought I would start a new series entitled "It’s the…

1

Interface Type Param Arrays to Operate on Many Objects

Here is an example: 1: private void Dispose(params IDisposable[] disposableObjects) 2: { 3: foreach (IDisposable disposableObject in disposableObjects) 4: { 5: if (disposableObject != null) 6: { 7: disposableObject.Dispose(); 8: } 9: } 10: } I have a bunch of disposable objects that need to be cleaned up on finally.   In most cases I employ…


"Friends Don’t Let Friends Delete Their Cache or Cancel Queue Jobs"

I thought I would repost something Brian Smith wrote.  Believe you me when I say follow his advice: http://blogs.msdn.com/brismith/archive/2007/11/02/friends-don-t-let-friends-delete-their-cache-or-cancel-queue-jobs.aspx

1