Microsoft KB Archive/816631

From BetaArchive Wiki

Article ID: 816631

Article Last Modified on 4/7/2006



APPLIES TO

  • Microsoft Project 2002 Professional Edition
  • Microsoft Project 2002 Standard Edition



SYMPTOMS

When you are using Project 2002, there is no action for turning off the Macro menu item.

CAUSE

This problem occurs because Project 2002 does not provide a method to suppress the Macro menu item either through a policy or through VBA macro code.

RESOLUTION

Service Pack Information

This problem is corrected in Project 2002 Service Pack 1.

To resolve this problem, obtain the latest service pack for Project 2002. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

867829 How to obtain the latest Microsoft Project 2002 service pack


Hotfix Information

A supported fix is now available from Microsoft, but it is only intended to correct the problem described in this article. Only apply it to systems that are experiencing this specific problem. This fix may receive additional testing to further ensure product quality. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Project 2002 service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:

Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
The Global version of this fix for the Project client computer should have the following file attributes or later:

   Date         Time      Size    File name
   ---------------------------------------------
   11-Mar-2003  03:20  8,957,440  Project10.msp

The Global version of this fix for the Project Server computer should have the following file attributes or later:

   Date         Time    Size      File name
   ---------------------------------------------
   11-Mar-2003  03:46  3,795,456  Prjsvr10.msp

After the hotfix is installed, the Global version of this fix will have the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

After the client-side hotfix is installed, the following files will have these listed attributes or later:

   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   22-May-2002  22:37  10.0.4109.0     7,445,320  Owc10.dll        
   18-Oct-2002  03:23  10.0.2002.1017    909,824  Pj10od10.dll     
   19-Feb-2003  00:24  10.0.2003.218     254,464  Pj10tm10.dll     
   19-Feb-2003  00:24  10.0.2003.218   4,108,800  Pjoledb.dll      
   11-Mar-2003  02:22  10.0.2003.310  10,101,248  Winproj.exe   
                

After the server-side hotfix is installed, the following files will have these listed attributes or later:

   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   31-Jan-2003  06:02                        611  Build.inc
   05-Sep-2002  19:19                      6,133  Clntutil.asp
   05-Sep-2002  19:19                     13,525  Dlmain.asp
   05-Sep-2002  19:19                      6,946  Issshell.asp
   05-Sep-2002  19:19                     16,837  Linkissu.asp
   19-Feb-2003  00:08  10.2003.0.218     126,976  Mspnav.dll       
   05-Sep-2002  19:19                      3,975  New4task.asp
   11-Mar-2003  02:05  10.2003.0.310     630,784  Pds.dll          
   09-Oct-2002  19:31  10.0.2002.1009    909,824  Pj10od10.dll     
   20-Jan-2003  06:15                    913,475  Pjclient.cab
   28-Jan-2003  05:08  10.0.2003.127     188,928  Pjnpe.dll        
   01-Oct-2002  01:00  10.0.2002.930     167,936  Pjobjprv.dll     
   19-Feb-2003  00:24  10.0.2003.218   4,108,800  Pjoledb.dll      
   03-Dec-2002  01:06                     30,535  Portview.asp
   06-Aug-2002  18:16                      3,584  Prjsvre.mst
   07-Jan-2003  23:40  10.2003.0.107      57,344  Psvracub.dll     
   03-Dec-2002  01:06                     96,082  Qylibstd.sql
   05-Sep-2002  19:19                     53,683  Svrdbdl.asp
   03-Dec-2002  01:06                  1,069,301  Websps.sql

                

After the hotfix is installed, you must run four separate SQL queries to finish the patch. To do so, follow these steps:

  1. Click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
  2. Connect to the Project SQL Server.
  3. Select the Project Server database from the drop-down list.
  4. Type or paste the following SQL query code in the right pane of the Query Analyzer:

    insert into MSP_WEB_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, LANG_ID, CONV_STRING) values (9, 90150, 1033, N'User Defined 1')
    insert into MSP_WEB_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, LANG_ID, CONV_STRING) values (9, 90151, 1033, N'User Defined 2')
    insert into MSP_WEB_CONVERSIONS (STRING_TYPE_ID, CONV_VALUE, LANG_ID, CONV_STRING) values (9, 90152, 1033, N'User Defined 3')
  5. On the Query menu, click Execute to run the query.
  6. After the query runs, type or paste the following SQL query code in the right pane of the Query Analyzer:

    set IDENTITY_INSERT MSP_WEB_SECURITY_FEATURES_ACTIONS ON insert into MSP_WEB_SECURITY_FEATURES_ACTIONS (WSEC_FEA_ACT_ID, WSEC_FEA_ACT_PARENT, WSEC_IS_ACTION, 
    WSEC_ON_OBJECT, WSEC_FEA_ACT_NAME_ID) values( 150,  100, 1, 0, 90150)
    insert into MSP_WEB_SECURITY_FEATURES_ACTIONS (WSEC_FEA_ACT_ID, WSEC_FEA_ACT_PARENT, WSEC_IS_ACTION, WSEC_ON_OBJECT, WSEC_FEA_ACT_NAME_ID) values( 151,  100, 1, 0, 90151)
    insert into MSP_WEB_SECURITY_FEATURES_ACTIONS (WSEC_FEA_ACT_ID, WSEC_FEA_ACT_PARENT, WSEC_IS_ACTION, WSEC_ON_OBJECT, WSEC_FEA_ACT_NAME_ID) values( 152,  100, 1, 0, 90152)
    set IDENTITY_INSERT MSP_WEB_SECURITY_FEATURES_ACTIONS OFF
  7. On the Query menu, click Execute to run the query.
  8. After the query runs, type or paste the following SQL query code in the right pane of the Query Analyzer:

    -- CREATE THE NEW TABLE
    --****************************************************************************************************
    --*     MSP_WEB_SECURITY_USERDEFINED 
    --****************************************************************************************************
    
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'dbo.MSP_WEB_SECURITY_USERDEFINED')
    AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
    DROP TABLE dbo.MSP_WEB_SECURITY_USERDEFINED
    GO
    
    
    CREATE TABLE dbo.MSP_WEB_SECURITY_USERDEFINED
    (
        WSEC_PERMISSION_NUMBER              int NOT NULL,
        WSEC_ITEM_TYPE                  int NOT NULL,
        WSEC_ITEM_ID                    int NOT NULL,
    )
    -- ON [PRIMARY]
    GO
    
    
    CREATE CLUSTERED INDEX IX_MSP_WEB_SECURITY_USERDEFINED
    ON dbo.MSP_WEB_SECURITY_USERDEFINED(WSEC_PERMISSION_NUMBER)
    -- ON [PRIMARY]
    GO
    
    -- POPULATE THE NEW TABLE WITH THE ITEMS TO DISABLE FOR EACH PERMISSION
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,1001) -- Disables Macro (XCMD_UDEFINE)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,16) -- Disables MacroRecord (XCMD_STARTRECORD)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,2396) -- Disables MacroSecurity (XCMD_MACROSECURITY)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,2245) -- Disables MacroShowVba (XCMD_SHOWVBAIDE)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,2246) -- Disables MacroShowCode (XCMD_SHOWCODE)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (150,0,17) -- Disables MacroEndRecording (XCMD_ENDRECORD)
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (151,1,275775509) -- Disables Proj Info dialog grid 
    INSERT INTO MSP_WEB_SECURITY_USERDEFINED (WSEC_PERMISSION_NUMBER, WSEC_ITEM_TYPE, WSEC_ITEM_ID) VALUES (152,1,303955978) -- Disables Save As dialog grid
  9. On the Query menu, click Execute to run the query.
  10. After the query runs, type or paste the following SQL query code in the right pane of the Query Analyzer:

    -- Insert the three new permissions as available to the organization
    insert into MSP_WEB_SECURITY_ORG_PERMISSIONS (WSEC_FEA_ACT_ID, WSEC_ALLOW, WSEC_DENY, WSEC_ACCESS, WSEC_PAID) VALUES (150, 1, 0, 1, 1)
    insert into MSP_WEB_SECURITY_ORG_PERMISSIONS (WSEC_FEA_ACT_ID, WSEC_ALLOW, WSEC_DENY, WSEC_ACCESS, WSEC_PAID) VALUES (151, 1, 0, 1, 1)
    insert into MSP_WEB_SECURITY_ORG_PERMISSIONS (WSEC_FEA_ACT_ID, WSEC_ALLOW, WSEC_DENY, WSEC_ACCESS, WSEC_PAID) VALUES (152, 1, 0, 1, 1)
    
    -- Give all administrators these three permissions
    declare @AdminUserRelID       as int
    declare @AdminRelID           as int
    select @AdminUserRelID     = WSEC_REL_ID from MSP_WEB_SECURITY_SP_CAT_RELATIONS SCR, MSP_WEB_RESOURCES R where R.WRES_ID=1 and SCR.WSEC_SP_GUID=R.WRES_GUID and SCR.WSEC_CAT_ID=0
    select @AdminRelID         = WSEC_REL_ID from MSP_WEB_SECURITY_SP_CAT_RELATIONS SCR, MSP_WEB_SECURITY_GROUPS G where SCR.WSEC_SP_GUID=G.WSEC_GRP_GUID and G.WSEC_GRP_ID=1 and SCR.WSEC_CAT_ID=0
    
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminUserRelID,   150, 1, 0, 1)
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminRelID,       150, 1, 0, 1)
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminUserRelID,   151, 1, 0, 1)
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminRelID,       151, 1, 0, 1)
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminUserRelID,   152, 1, 0, 1)
    insert into MSP_WEB_SECURITY_SP_CAT_PERMISSIONS (WSEC_REL_ID,WSEC_FEA_ACT_ID,WSEC_ALLOW,WSEC_DENY,WSEC_ACCESS) VALUES (@AdminRelID,       152, 1, 0, 1)



STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected in Project 2002 Service Pack 1.


Additional query words: FIX

Keywords: kbbug kbfix kbmacro kbqfe kbofficexppresp3fix kbproject2002sp1fix kbhotfixserver KB816631