Skip to content
/

I was browsing through the Project Server 2007 TimePeriodDataSet.TimePeriodsRow Members and found the following empty entries I could fill.

I was browsing through the Project Server 2007 TimePeriodDataSet.TimePeriodsRow Members and found the following empty entries I could fill:

NameDescriptionEnumeration
RES_TIMESHEET_MGR_UIDSpecifies the resource unique identifier of the (next) enterprise resource reviewing on this timesheet.
TS_WEEK_STARTS_ONSpecifies the first day of the week for this timesheet.0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
WPRD_UIDSpecifies the period unique identifier of the timeperiod.
/

To deploy our code we create MSI installers using Visual Studio. One problem I encountered is that there is no property available in code to know where the user has chosen to install the application.

To deploy our code we create MSI installers using Visual Studio. One problem I encountered is that there is no property available in code to know where the user has chosen to install the application.
After some searching and testing I now use the following code to get the installation path:

// Installer Application Folder
string installPath = Context.Parameters["assemblypath"];
installPath = installPath.Substring(0, installPath.LastIndexOf("\\"));

if (!installPath.EndsWith("\\"))
{
    installPath += "\\";
}

That's all!

/

When building custom Project Server Event Receivers the result is a dll file. Using app.config and the ConfigurationManagement class will not work.
Well actually, it’s possible!

When building custom Project Server Event Receivers the result is a DLL file. Using app.config and the will not work.
Well actually it’s possible!

The Microsoft Office Project Server Events Service executable has it’s own app.config where you can add entries. If you go to the Project Server bin directory (default: C:\Program Files\Microsoft Office Servers\12.0\Bin) you will find the config file named Microsoft.Office.Project.Server.Eventing.exe.config.

Add the appSettings section like this:

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="ProjectServerEventHandlers"/>
      </assemblyBinding>
   </runtime>
   <appSettings>
      <add key="SSP Location" value="http://localhost:56737/SharedServices1" />
   </appSettings>
</configuration>

and your application can happily use the following syntax:

ConfigurationManager.AppSettings["SSP Location"]

This can make your event just a bit easier to deploy in different configurations without the recompiling or use of extra configuration libraries.