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:
- Click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
- Connect to the Project SQL Server.
- Select the Project Server database from the drop-down list.
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')
- On the Query menu, click Execute to run the query.
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
- On the Query menu, click Execute to run the query.
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
- On the Query menu, click Execute to run the query.
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