Deploying Project Web Access (PWA) ActiveX Controls

Wednesday, 19 August 2009 23:47 by RanjanBanerji

A recent problem I faced was that of deploying Microsoft Project PWA ActiveX controls.  When you use PWA you are required to download and install this ActiveX control.  The problem is that if you work at an organization that does not give you local admin rights to your machine then individual users cannot deploy these ActiveX controls.  One way to deploy in such cases is via SMS and is explained here

However, I find deploying via a GPO to be easier and so do some others as can be witnessed by the comments in the above mentioned link.  Now one may argue over SMS vs. GPO so lets just say deploying via a GPO is yet another way to do so.  The problem is that the ActiveX control is deployed using a CAB file.  Internet Explorer knows exactly what to do in order to install this control but not a GPO.  In the article link I provided above the author talks about writing a batch file and deploying via SMS.  The approach I took is to create a MSI file and deploying via a GPO.

There are two cab files that are used in the deployment of the ActiveX control and they can be found at C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\PWA\OBJECTS\PJCLIENT.CAB and C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\PWA\OBJECTS\1033\PJCINTL.CAB on the server where Project Server is installed.

To create an MSI file you need to extract the content of these CAB files, create a Visual Studio installer project using the DLLs and OCXs and you are good to go.  I have attached my Visual Studio 2008 project for reference.  I will strongly recommend you replace any DLLs provided in my VS project with DLLs extracted from your own CAB files.

Also, please note that I did not deploy the DLLs to the “Downloaded Program Files” folder.  No real reason.  This VS project is just a proof of concept.

Once you have the MSI file you can now create a GPO and distribute the ActiveX control to users in your organization.

The VS 2008 project can be downloaded here.

You wonder why Microsoft is not perceived as progressive

Tuesday, 4 August 2009 01:15 by RanjanBanerji

So for the first time in my career I am having to get a Microsoft Certification.  Let’s not get into the reasons but rest assured it is not by my choice.  Anyway, so I am preparing for the Microsoft Certified Business Management Solutions Professional – Developer for Microsoft Dynamics CRM 4.0 (hereafter referred to as MCBMS Developer CRM 4.0) certification.  To determine the various tests I need to take for this certification I went to the Microsoft site at


The MCBMS Developer CRM 4.0 certification requires 2 required tests and 2 electives.  The 2 required tests being:

  • Microsoft Dynamics CRM 4.0 Customization and Configuration
  • Extending Microsoft Dynamics CRM 3.0

Wait!!!!  Did I read that right?  I need to take a CRM 3.0 test for a CRM 4.0 certification.  But then I thought maybe there is no equivalent test for 4.0 and so Microsoft decided people should take the 3.0 level test or perhaps this feature is the same between 3.0 and 4.0 so why bother creating a new test.  I have never worked with CRM 3.0 so I would  not know the answer to the latter.


But as I was browsing this site I saw the requirements for the MCBMS Developer CRM 3.0 certification.  Now this is very interesting.  It too has 2 required tests and 2 elective tests as follows:

  • Microsoft Dynamics CRM 3.0 Customization (This looks similar to the first required test for 4.0 except that it is for 3.0)
  • Extending Microsoft Dynamics CRM 3.0 (same as the test above for 4.0)  OR
  • CRM 4.0 – Extending Microsoft Dynamics


Huh!!!!! What’s with the CRM 4.0 – Extending Microsoft Dynamics test?  And why is it necessary for getting certified for CRM 3.0?  More so, why is this test not a requirement for the MCBMS Developer CRM 4.0?  Or why is this not an option for the MCBMS Developer CRM 4.0 certification?


Why do I find this setup warped?  Why would Microsoft not offer CRM 4.0 – Extending Microsoft Dynamics as a requirement for the MCBMS Developer CRM 4.0 Certification?  Why do I have to learn CRM 3.0 to be specialized in 4.0?  So I sent an email to Microsoft seeking clarification.  The reply I got was that these course are well thought out and if the site says you have to take a 3.0 course for a 4.0 certification then that is what you have to do.  Not satisfied with that answer I called Microsoft.  The people I spoke to seemed to agree with my point of view but after about an hour of talking an being put on hold while they verified the information I was told what is on the web site is indeed correct.

I can’t seem to understand why the certification requirements would be set up this way.  I can imagine a conversation with a customer that will go something like this:

Customer:  We need an expert to help us extend our CRM 4.0 and create new applications for us.

Me: Sure I can do it for you.

Customer:  Really?  Are you capable?  Have experience?  Certified?

Me:  Yes, yes, I am certified in Extending Microsoft Dynamics CRM 3.0

Customer:  ummm! We just said CRM 4.0.  Weren’t you listening.

Me:  Oh! I heard you right.  But I do have a MCBMS Professional Developer CRM 4.0 certification and as a part of that I have taken the Extending Microsoft Dynamics CRM 3.0.

Customer:  I get it.  So in addition to Extending CRM 4.0 you have done the Extending Microsoft Dynamics CRM 3.0.

Me:  No no no.  All I have certification in is Extending Microsoft Dynamics CRM 3.0

Customer:  But you said you are a MCBMS Professional Developer CRM 4.0

Me:  Right

Customer: I am confused…..

Me:  So am I    LOL

I think we can all imagine how insane this conversation can get.  And yes, I know that developers need to have experience to get their job done rather than just a certification test.  But I don’t see how my experience working with CRM 4.0 is going to be tested with a CRM 3.0 exam. 

I suppose to get a Windows 7.0 certification Microsoft will expect you to know how to cave paint or etch instructions on a rock using some animal bones. :-)

Categories:   MS Dynamics CRM | Rants
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed