IBM® Rational® Rose® 2003.06.15 Test Fix 16 Release Notes
December 2005

© Copyright IBM Corporation. 1992-2005. All Rights Reserved.
Any reproduction or distribution of this work is expressly prohibited without the prior written consent of IBM Rational.
Legal Notices Information

Scope
This Test Fix updates VC++ Add-In.
Hardware/Software Information
Hardware / Software requirements for this Test Fix are the same as those described in the installation Guide for Suites v2003.06.15.
Getting Started
In addition to the instructions provided in the "Getting Started" section of the Rose 2003.06.15 Release Notes, please review the following information new in this Test Fix for Rose 2003.06.15
Installation Information
Prerequisite
Licensing
No licensing changes are required when installing this Test Fix.
Installation Instructions
Note:  [Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".
1.	Rose 2003.06.15 must be installed prior to installing this Test Fix.
2.	Backup (rename) the files “Files Updated in this Test Fix” (if they exist).
3.	Place the following file in a temporary directory:             
o	Install_2003r5_Test_Fix16_VCPP_11.28.2005.bat
o	Rose_2003r5_Test_Fix16_VCPP_11.28.2005.exe
4.	Run  Install_2003r5_Test_Fix16_VCPP_11.28.2005.bat
The following preliminary information will display – press Enter to continue:
========================================
Rose 2003.06.15 Test Fix 16
Product:  Rose Enterprise
Installs and Registers
Rose 2003.06.15 Test Fix 16
%TEMP%\Rose_2003r5_Test_Fix16_VC++_11.28.2005_ERRORLOG.log
will include a listing
of any errors encountered while
installing this Test Fix.
Contact Rational Technical Support if
you encounter any Installation Errors.
========================================
Installing Rose 2003.06.15 Test Fix 16…
                 The “WinZip Self_Extractor” dialog will display.  Select “Unzip”.
                 
You will see the following message box, Select “OK” and then Select “Close” in the original “WinZip Self_Extractor” dialog (see, above).

Select “OK” to the message box, above.
You will see the following message boxes.  Press “OK” to each to continue. 

•	You will then see a message as follows in the Command Prompt Window indicating that the Test Fix was successfully installed:
Removing  %TEMP%\Rose_2003r5_Test_Fix16_VC++_11.28.2005_ERRORLOG.log
=========================================
Rose 2003.06.15 Test Fix 16
    Successfully Installed
=========================================
Press any key to continue . . .
If you encounter any errors during the installation of this Test Fix, refer to the error log:  
%TEMP%\Rose_2003r5_Test_Fix16_VC++_11.28.2005_ERRORLOG.log which will include a listing of the errors.  If no errors were encountered, this file will not exist.
IMPORTANT NOTE:  Once this integration support for .NET 8.0 is installed you will not have access to the original .NET 7.0 integration.  In order to again access the .NET 7.0 integration, install “Rose_2003r5_Test_Fix16b_VCPP_11.28.2005.exe” (also provided) to restore the original integration.
Product Documentation
Documentation for Rational Rose is available on-line at http://www-306.ibm.com/software/awdtools/rose/enterprise/support/index.html
Compatibility Issues
This section describes any compatibility issues that could arise from use of this Test Fix.
With Rational Products
This Test Fix does not introduce any compatibility issues with other IBM Rational products.
With Third-Party Products
This Test Fix does not introduce any known compatibility issues with third-party products.
Defects and Changes
Rose VC++ defect fixed in this Test Fix
Defect	Description	
RATLC00962397	Rose does not recognize VS.NET 2005 project files

While using the Rose VC++ Add-In, if the VC++ files were related to VS.NET 2005, the project would not come up automatically and code generation would fail. 

This Test Fix enables the original Rose VC++ 7.0 Integration when using VS .NET 2005:
•	Allows users of the Rose Visual C++ Add-In the ability to access projects loaded in the Microsoft Visual Studio .NET 2005 IDE. 
•	Supports Visual C++ 6.0 developers who have chosen to "upgrade” to the new Visual C++ VS .NET 2005 compiler, but who still need to develop VC6 compatible code. 
•	.NET Managed Extensions for C++ Support in Rose VC++ Add-In

Refer to support description, below.*	

The Rose Visual C++ Add-In may now access projects loaded in the Microsoft Visual Studio .NET 8.0 IDE
Note    Rose Visual C++ Add-In does not support the .NET “managed C++” code extensions to the C++ language (other than what is indicated in .NET Managed Extensions for C++ Support in Rose VC++ Add-In section below), at this time.  In addition, the Rose VC++ Add-In will not recognize the new “#” directives, added in .NET 7.0 or beyond.
How To Access .NET 8.0 Projects in Rose
•	Create your .NET projects using Visual Studio .NET. 
•	Assign the .NET C++ project to a Rose component via the Component Assignment tool’s “Select a VC++ Project File” dialog. 
•	You may not currently use the “New” tab to create a new VC++ .NET project.  The “New” tab is currently restricted to VC++ 6.0, only. 
•	The default file filter is set to “*.dsw, .dsp”, in the “Existing” tab.  If you would like to browse for .NET solutions/projects you will need to change the filter to “.sin, .vcproj” or simply “.*”. 
The “Recent” and “Running” tabs will show VC++ .NET projects, as well as VC 6.0 projects.
Ability to Update Code with "Include" changes after Making Changes to List of Includes in External Map tab
Any modification in the list of includes, specified in the Include File / Filename list (in the External Map tab of the Component Specification), will be reflected in the code after the next code generation.  In previous Rose releases, the list of includes specified in the External Map Tab was only generated one time and any modifications to the list were not reflected (updated) in the code.
This enhancement allows the user to modify any includes and after the next code generation the mapping classes-modified includes will be reflected in the code.
To access External Map tab (in the Component Specification dialog):
•	Select VC++ Component in browser Component View 
•	Right Click and Select Properties 
The External Map tab maps classes realized by this component to the include statements required to reference these classes by classes realized in other components.
If the External Map tab for a sample Component "SupplierComp" includes the following generated code:
#include "stdafx.h"
#include "WrongHeader.h"
#include "Client.h"
and a change is made to the Include file name (from "WrongHeader.h" to "RightHeader.h") in the External Map tab of the "SupplierComp" component.
Generated code will now include:
#include "stdafx.h"
#include "RightHeader.h"
#include "Client.h"
Note : After every modification of the include list (in the External Map tab) the user is notified by a warning message to regenerate the code.  The "Include" modifications will be effective (in the code) only after the next code generation.
Upon selecting "Yes", code will be generated and the "Include" changes will be realized in the newly generated code.
Selecting "No"  (i.e. delaying the code generation), at the next attempt to generate code, the user will be notified by a final warning message to generate code for the components affected by the changes in the External Map otherwise changes will not be reflected in the code.
.NET Managed Extensions for C++ Support in Rose VC++ Add-In
The Rose VC++ .NET support has been enhanced to include Managed Extensions for C++ support for the Rose VC++ Add-In for Reverse Engineering purposes.  The following new keywords have been added to the Managed Extensions in the Grammar file for Rose VC++.  When necessary, they are interpreted and reflected in the Model in order to be properly reverse engineered.
Keyword	Description	
__abstract	Declares a class that cannot be instantiated directly.	
__box	Creates a copy of a __value class on the common language runtime heap.	
__delegate	Declares a reference to a unique method (a function pointer) of a managed class.	
__event	Declares an event method of a managed class.	
__finally	Declares a finally block associated with a try block.	
__gc	Declares a gc type.	
__identifier	Enables the use of a C++ keyword as an identifier.	
__interface	Declares an interface.	
__nogc	Declares a native C++ class that is not garbage-collected.	
__pin	Prevents an object or embedded object of a managed class from being moved by the common language runtime during garbage collection.	
__property	Declares a property member for a managed class.	
public, protected and private	Determines the accessibility of specified types and methods outside of an assembly.	
__sealed	Prevents a __gc class from being a base class, or a method from being overridden by one in a derived class.	
__try_cast	Performs the specified cast or throws an exception if the cast fails.	
__typeof	Returns the System::Type of a given type.	
__value	Declares a value type.	
Files Updated or Added by this Test Fix
[Release_Location]\Rose\vc\dlls\rvcvs7addin.dll
[Release_Location]\Rose\ vc\dlls\rvcapplicationstarter.dll
[Release_Location]\Rose\ vc\dlls\rvc.dll
[Release_Location]\Rose\ vc\dlls\rvccompprops.dll

Note:  
[Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".
Additional Information
Contacting IBM Rational Customer Support
Contacting Rational Customer Support The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support homepage can be found at www.ibm.com/software/support. 
Voice Support is available to all current contract holders via a telephone number in your country (where available). For specific country phone numbers, please refer to the IBM Software Support Handbook, Appendix B: Contact Information, found at www.ibm.com/software/support.