IBM® Rational® Rose® 7.0.0.0 iFix001 Release Notes
December 2006

© Copyright IBM Corporation. 1992-2006. 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 iFix updates Rose VC++.
Hardware/Software Information
Hardware / Software requirements for this iFix are the same as those described in the installation Guide for Rose 7.0.0.0.
Getting Started
In addition to the instructions provided in the "Getting Started" section of the Rose 7.0.0.0 Release Notes, please review the following information new in this iFix for Rose 7.0.0.0.
Licensing
No licensing changes are required when installing this iFix.
Installation Instructions
Note:  [Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".
Important:  Install the appropriate iFix to provide the .NET support (as described in Limited .NET 7.0 and 8.0 support for Rose Visual C++ Add-In) that you require:
•	Install Rose_7.0.0.0_iFix001_VCPP_12.22.2006.exe to provide support for .NET 2005 (8.0).
•	Install Rose_7.0.0.0_iFix001b_VCPP_12.22.2006.ext to provide support for .NET 2003 (7.0).

Apply the following instructions to the iFix you are installing.
1.	Rational Rose Enterprise or Rational Rose C++ 7.0.0.0 must be installed prior to installing this iFix.
2.	Backup (rename) the files “Files Updated in this iFix” (if they exist).
3.	Place the following file in a temporary directory:             
o	Install_Rose_7.0.0.0_iFix001_VCPP_12.22.2006.bat
o	Rose_7.0.0.0_iFix001_VCPP_12.22.2006.exe 
o	Run Install_Rose_7.0.0.0_iFix001_VCPP_12.22.2006.bat
The following preliminary information will display – press Enter to continue:
========================================
Rose 7.0.0.0 iFix001
Product:  Rational Rose Enterprise or Rational Rose C++
Installs and Registers
Rose 7.0.0.0 iFix001
%TEMP%\Rose_7.0.0.0_iFix001_VC++_12.22.2006_ERRORLOG.log
will include a listing
of any errors encountered while
installing this iFix.
Contact Rational Technical Support if
you encounter any Installation Errors.
========================================
Installing Rose 7.0.0.0 iFix001…
                 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.
In the Command Prompt Window you will see the following ‘registration’ messages : 
Registering "rvcapplicationstarter.dll"...
Registering "rvcvs7addin.dll"...
Registering "rvc.dll"...
Registering "rvccompprops.dll"...
•	You will then see a message as follows in the Command Prompt Window indicating that the iFix was successfully installed:
Removing  %TEMP%\Rose_7.0.0.0_iFix001_VC++_12.22.2006_ERRORLOG.log
=========================================
Rose 7.0.0.0 iFix001
Successfully Installed
=========================================
Press any key to continue . . .
If you encounter any errors during the installation of this iFix, refer to the error log:  
%TEMP%\Rose_7.0.0.0_iFix001_VC++_12.22.2006_ERRORLOG.log which will include a listing of the errors.  If no errors were encountered, this file will not exist.
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 iFix.
With Rational Products
This iFix does not introduce any compatibility issues with other IBM Rational products.
With Third-Party Products
This iFix does not introduce any known compatibility issues with third-party products.
Defects and Changes
Rose Core defects fixed in this iFix
Defect	Description	
RATLC00962397	Request to allow Rational Rose to correctly recognize VS.NET 2005 project files

This iFix includes Rose VC++ DLLs which have been enabled to integrate with VS.NET 2005.

See Limited .NET 7.0 and 8.0 support for Rose Visual C++ Add-In, below for description of support.	
Limited .NET 7.0 and 8.0 support for Rose Visual C++ Add-In
The Rose Visual C++ Add-In may now access projects loaded in the Microsoft Visual Studio .NET IDE.
Note:
Rose Visual C++ Add-In does not support all of the .NET managed C++ code extensions to the C++ language, at this time. In addition, the Rose VC++ Add-In will not recognize the new # directives, added in .NET 7.0 and 8.0.
How To Access .NET Projects in Rose
•	Create your .NET projects using Visual Studio .NET. 
•	Assign the .NET C++ project to a Rose component via the Component Assignment tools 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.	
Important:  Install the following appropriate iFix to provide the .NET support that you require:
•	Install Rose_7.0.0.0_iFix001_VCPP_12.22.2006.exe to provide support for .NET 2005.
•	Install Rose_7.0.0.0_iFix001b_VCPP_12.22.2006.ext to provide support for .NET 2003.

See Installation Instructions.
Files Updated or Added by this iFix
[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.