Microsoft® Visio®
Version 2002

Release Notes

Copyright © 1991-2001 Microsoft Corporation. All rights reserved.

This file contains important, late-breaking information about Microsoft Visio.

Contents
Installation Issues
Documentation Issues
Printing
Graphics Filters
CAD Drawings in Visio
Find Shape

Issues in Visio Professional:
Process Engineering Solution
Building Engineering Solution
Web Diagram Solution
Network Solution

Issues in Visio Professional and Visio for Enterprise Architects:
Software Modeling Solution
Database Modeling Solution

Installation Issues

Installing on a computer with previous versions of Visio
Under most circumstances, Microsoft Visio 2002 will install and run normally on a computer that has previous versions of Visio installed (excluding Visio 2002 beta versions). However, for optimal performance in Visio 2002, we recommend that you uninstall previous versions during Microsoft Visio Setup.

Uninstalling previous versions
Microsoft Visio Setup automatically finds previous versions of Visio installed on your computer and allows you to remove them during the setup process. We recommend that you allow the setup program to remove your previous versions of Visio.

Issues with keeping previous versions: Visio 2000 SR1
If you have a Visio 2000 SR1 product installed on your computer, and you choose to keep this previous version when you install Visio 2002, the Microsoft Visio shortcut on the Start menu will point to Visio 2002. See Windows Help for instructions to create a new Start menu shortcut for Visio 2000 SR1.

Note: The Microsoft Visio shortcut on the Start menu will always point to the Visio 2000 SR1 or Visio 2002 product that was most recently installed or repaired.

If you have a Visio 2000 SR1 product installed on your computer, and you choose to keep this previous version when you install Visio 2002, you may experience minor difficulty running Visio 2002 later on. If you uninstall Visio 2000 SR1 at any time after installing Visio 2002, Visio 2002 will run only in reduced functionality mode. To correct the problem on Windows 98, NT 4.0 and ME, you must manually start the repair program in Microsoft Visio Setup, using the steps below. On Windows 2000 and Windows XP, the repair program will start automatically when you run Visio. In this case, wait for auto-repair to complete, then Visio will run normally.

To start a Visio repair in Windows 98, ME, or NT, do the following:

1.	On the Windows Start menu, point to Settings, click Control Panel, and then double-click Add/Remove Programs.
2.	In the list of currently installed programs, click Microsoft Visio 2002.
3.	Click Add/Remove. Microsoft Visio Maintenance Mode will start.
4.	Click Repair, and then click Next.
5.	Follow any further instructions on the screen.

Visio should function normally from this point on.

Note: If you originally installed Visio 2002 from a CD, have the CD available so that the repair process can complete successfully.

Running Visio 2002 with previous versions of Visio
If you run the previous version of Visio, and then subsequently run Visio 2002, Visio 2002 will auto-repair. Wait for auto-repair to complete, and Visio will run normally from this point on.

Note: If you originally installed Visio 2002 from a CD, have the CD available so that the auto-repair process can complete successfully.

Installing on a computer with Microsoft Office 2000
Microsoft Visio should install and run normally on a computer that has Microsoft Office 2000 installed. However, if you subsequently uninstall Visio, Office 2000 and Office family applications (such as Microsoft Project) may temporarily not function correctly or may attempt to auto-repair the next time you run them.

Note: If you originally installed Office 2000 from a CD, have the CD available so that the auto-repair process can complete successfully.

Microsoft Project 2000, Word 2000, and Excel 2000
If you uninstall Visio 2002 and subsequently run Microsoft Project, Word, or Excel you may see an error message requesting that you insert your Office 2000 or Microsoft Project 2000 CD. Insert the requested CD into the CD drive, and Office 2000 setup will complete the auto-repair. All Office 2000 applications should function correctly from this point on.

Outlook 2000
If you uninstall Visio 2002 and subsequently run Microsoft Outlook, Outlook may fail to run. If this occurs, you can fix the error in one of the following two ways:

·	Before attempting to run Outlook again, run either Microsoft Project, Word, or Excel. Office 2000 setup will auto-repair the Office installation, as described previously in Microsoft Project 2000, Word 2000, and Excel 2000. All Office 2000 applications should function normally from this point on.
·	If the above method does not correct the problem, do the following:

1.	On the Windows Start menu, point to Settings, click Control Panel, and then double-click Add/Remove Programs.
2.	In the list of currently installed programs, click Microsoft Office 2000.
3.	In Windows 2000 or XP, click Change.  In Windows 98, ME, or NT, click Add/Remove. Microsoft Office Maintenance Mode will start.
4.	Click the Repair Office button.
5.	Click Repair Errors In My Office Installation, and then click Finish.
6.	Follow any further instructions on the screen.

	All Office 2000 applications should function normally from this point on.

Installing on a computer with a previous Visio 2002 beta or Office XP (“Office 10”) beta

Uninstall betas
Microsoft Visio will not function correctly if it is installed on the same computer as an earlier beta version of Visio. Therefore, the Visio setup program will automatically uninstall any Visio 2002 betas on your computer before installing Visio 2002. You may also manually uninstall your Visio beta before installing Visio 2002.

Microsoft Visio may not function correctly when installed on the same computer as a Microsoft Office or Office XP beta, or may cause the Office beta to stop functioning. The Visio setup program does not uninstall the Office betas automatically. Before installing Visio, uninstall any Office betas on your computer. 

Uninstall previous system updates
On Windows 98 and Windows NT4.0, the Visio and Office beta setups may have installed a package of system upgrades to your computer. These upgrades must be uninstalled before proceeding with the Visio 2002 setup.

To remove previous system upgrades, do the following:

1.	On the Windows Start menu, point to Settings, click Control Panel, and then double-click Add/Remove Programs.
2.	In the list of currently installed programs, look for one of the following entries:
·	Microsoft Office System Files Update Beta 1
·	Microsoft Office System Files Update Beta 2
·	Microsoft Office 2002 System Files Update
3.	For each entry above that you find, click on the entry, and then click Remove. Maintenance Mode for the System Update will start.
4.   Choose Uninstall and then click Next
5.   Follow any further instructions on the screen.

Install path limitation
Microsoft Visio will not install to a location whose path name is longer than 120 characters. For example, the default install location "C:\Program Files\Microsoft Office\Visio" contains 39 characters. If you choose not to install to the default location, and you type more than 120 characters into the Installation Location dialog box, Visio Setup will display an error message.

Installing to a UNC network path
If you are installing Visio on a computer running Windows NT 4.0, setup will fail if you install to a network location using a UNC path. To install to the network location, assign the UNC path to a drive letter, and then choose that drive letter as the install location in Visio Setup.

Running Visio from a UNC network path
If you install Visio to run from a network location, you may experience difficulty running Visio from a client computer. To ensure that Visio runs correctly, observe the following:

•	Do not install Visio to the root level of a network share. For example, for a server and share name called \\VisioServer\VisioShare\, do not install Visio to the path \\VisioServer\VisioShare\[Visio Installation]. Instead, install Visio at least one folder deeper on the share, for example, \\VisioServer\VisioShare\VisioFolder\[Visio Installation].
•	Similarly, when sharing out the location of the Visio installation on a server, do not share the Visio installation folder itself. Instead, share the folder at least one level higher in the folder tree. For example, if the Visio installation you want to share is located on the path C:\Program Files\Shared Applications\Visio\ on your server, do not share the “Visio” folder. Instead, share a folder higher up the folder tree, such as “Shared Applications” or “Program Files.”

The Database Wizard setup option
If you click Customize in Setup (rather than Install Now!) one of the custom setup options listed is Database Wizard. This option controls only the sample files associated with the Database Wizard, not the Database Wizard itself. The Database Wizard is installed all the time, regardless of whether or not this option is selected.

Installing Visio for Enterprise Architects
Installing Visio for Enterprise Architects and Visual Studio .NET on the same computer
Visio for Enterprise Architects can only be installed on a system on which Visual Studio .NET is already installed. 

Administrative installation
When performing an administrative install or running setup via command line, do not pass any PIDKEY property to setup. Passing this property either as an argument on the command line or as a setting in the Setup.INI file may cause Visio to run in reduced functionality mode after setup is complete.

If setup succeeds but Visio runs only in reduced functionality mode, uninstall Visio, and then re-install making sure the PIDKEY property is not being passed in any of your setup scripts.

Installing Visio for Enterprise Architects with other Visio 2002 editions

Visio for Enterprise Architects contains all the functionality of Visio 2002 Standard and Visio 2002 Professional. For most users, it is not necessary to install any other Visio 2002 edition if Visio for Enterprise Architects is already installed.

If you own the SR1 version of Visio 2002 Standard or Visio 2002 Professional, and you want to use the upgraded functionality of SR1 in conjunction with Visio for Enterprise Architects , we recommend that you first install Visio for Enterprise Architects, and then install Visio 2002 Standard SR1 or Visio 2002 Professional SR1.

If you have already installed Visio 2002 Standard SR1 or Visio 2002 Professional SR1 and subsequently install Visio for Enterprise Architects, some upgraded SR1 functionality may be temporarily lost. To restore this functionality, simply perform a Repair on Visio 2002 Standard SR1 or Visio 2002 Professional SR1. For instructions on starting a Visio Repair, see the section "Installing on a computer with previous versions of Visio" above.

Documentation Issues

•	The title of the Developing Visio Solutions guide is now Developing Microsoft Visio Solutions. Content that refers to this guide in the Microsoft Visio Standard User's Guide, Microsoft Visio Professional User's Guide, Microsoft Visio Help, and Microsoft Visio Developer Reference does not currently reflect this change. The Developing Microsoft Visio Solutions guide is available from Microsoft Press and the MSDN Web site.

•	Installing and then uninstalling either Visio Enterprise Network Tools or Visio for Enterprise Architects will leave shared Help files (CHM, AW, and HLP files) from these products in the Visio Help folder. To clean up the Help system, uninstall and then reinstall Visio.

Printing

With some PCL printers, notably the HP LaserJet 4 and 5 series printers, text that is behind a shape with an opaque fill will be visible on the printed page.

Graphics Filters

Following are current issues with these graphics filters:

Adobe Illustrator File (*.ai)
Computer Graphics Metafile (*.cgm)
Encapsulated Postscript File (*.eps)
Postscript File (*.ps)
Macintosh PICT Format (*.pct)
IGES Drawing File Format (*.igs)
Zsoft PC Paintbrush Bitmap (*.pcx)

•	A Visio 2002 file may be exported incorrectly to the graphic formats listed above when the file contains Asian, Arabic, or Eastern European text.
•	When saving a Visio drawing to one of the formats listed above, and using Visio with Windows 2000, the following error may occur: “An error (920) occurred during the action Save As. An error occurred. Visio is unable to complete exporting.”  To work around this problem, first check to make sure there is enough space on your hard disk to save the file, and then remove fill patterns or adjust the transparency of objects on the page as follows:

1.	Select the object on the Visio drawing page.
2.	On the Format menu, click Fill.
3.	Either set the pattern option to None, or set the fill transparency to a value other than 0%. If the transparency option is already greater than 0%, the shape is probably not causing the export problem.
4.	In the Fill dialog box, click OK.
5.	Save your drawing as a normal Visio file (*.vsd), and then quit Visio.
6.	Restart Visio, and open your drawing.
7.	Save your drawing in the desired format.

This problem does not occur when Visio is used on Windows 98, Windows ME, or Windows NT 4.0.

CAD Drawings in Visio

Following are current issues with CAD drawings in Visio:

•	CAD drawing round-tripping is limited. Users can open and view legacy CAD drawings in Microsoft Visio, as well as save those drawings as Visio drawings (VSD files). In the VSD file, the CAD entities are converted to Visio shapes. If the VSD file is then saved as a CAD file (i.e., round-tripped back to the original file format), the Visio shapes do not convert back to CAD entities.
•	Existing Visio 2000 drawings that include a CAD object may appear differently when opened in Visio 2002, if the original DWG was saved in paper space. Visio 2000 did not support the paper space view, so Visio 2000 displayed the last model space view. Visio now supports paper space, and will display this view when the file is opened.
•	The Visio 2002 DGN component will only support English, Western European, and Kanji character sets.

Find Shape

Following are current issues with the Find Shape feature:

•	If you install Visio 2002 on Windows 98, Microsoft Visio Setup may prompt you to update your version of Internet Explorer. If you choose not to update Internet Explorer, the borders around the shapes in the Find Shape results window may not be completely drawn. Follow these instructions to update your installation of Internet Explorer:

1.	Insert the Visio CD into your computer's CD-ROM drive. Click Cancel in the first Microsoft Visio Setup screen that appears.
2.	In Windows, click the Start button and then click Run.
3.	In the Open box, type x:\setup /spforce, where x is the drive letter of your CD-ROM drive, and then press ENTER to launch Setup.
4.	If, during Setup, you are asked if you wish to install Internet Explorer 5.0, you must respond by clicking Yes.
5.	Once Setup completes, restart Visio.

•	On Windows 98 and ME, if the Find Shape window is floating and you perform a search, the Find Shape window may become hidden. Click on the document window and the Find Shape window will reappear.
•	On Windows 98 and ME, if the Find Shape window is floating and you click Options, the Options dialog box may become hidden. Press ENTER or ESC on your keyboard to dismiss the hidden dialog box. Right-click on the Find Shape window title bar and then click Dock Window. In the docked Find Shape window, click Options again to display the Options dialog box.

Issues in Visio Professional
The following issues apply only to Visio Professional 2002.

Process Engineering Solution

Migrating existing Visio 2000 PE files to Visio 2002 may take significant memory resources and time. When prompted at the start of file migration, choose to Enable Macros. 

Changes to the Process Engineering (PE) solution from Visio 2000 include the following:

•	Elimination of a separate PE database system
•	Elimination of projects as a collection of drawings
•	Removal of datasheets as unique VSD drawing types
•	Conversion of database attributes to standard Visio Custom Properties
•	Enabling of Visio Property Reporting

Building Engineering Solution

Following are current issues in the Building Engineering (BE) solution:

•	Some BE shapes are not sizing properly on 1:1 drawings.
•	Ungroup may cause some sub-shapes to move unexpectedly.

Web Diagram Solution

Following are current issues in the Web Diagram solution:

•	Generating a Web site map requires that Internet Explorer version 5.0 or greater be installed on your system. If the Web Site Map template identifies your version of Internet Explorer as prior to version 5.0, then you will need to re-launch Visio Setup to force an IE5 installation. Please follow these instructions to update your installation of Internet Explorer:

1.	Insert the Visio CD into your computer's CD-ROM drive. Click Cancel in the first Microsoft Visio Setup screen that appears.
2.	In Windows, click the Start button and then click Run.
3.	In the Open box, type x:\setup /spforce, where x is the drive letter of your CD-ROM drive, and then press ENTER to launch Setup.
4.	If, during Setup, you are asked if you wish to install Internet Explorer 5.0, you must respond by clicking Yes.
5.	Once Setup completes, restart Visio, and then begin your Web site discovery again.

•	Windows NT 4.0 users can increase the speed of large Web site discovery by increasing the paging file size in Windows (see Windows Help), and then restarting the discovery.

Network Solution

Following are current issues in the Directory Services solutions, which include the Active Directory, LDAP Directory, and Novell Directory Services templates:

•	The Directory Services solutions will not function properly if Visio is run from a network server rather than from your computer.
•	Visio stops responding if VBA is turned off during a drawing session.

Issues in Visio Professional and Visio for Enterprise Architects

Software Modeling Solution

Software Modeling Issues in Visio Professional 2002 and Visio for Enterprise Architects, Included in Visual Studio .NET Enterprise Architect

1	Associations do not have corresponding elements in the UML Model Explorer. (They appear only on the drawing page.)
2	You can turn off display of multiple relationship lines on the drawing page.
3	Position of labels for Association shapes can be unclear.
4	Qualifier attributes cannot be viewed on the drawing page.
5	Using Visio 2000 and Visio 2002 UML reverse engineering add-ins on the same machine.
6	Adjusting the font in the Windows User Interface shapes.
7	Error messages during reverse engineering from Visual Studio .NET to Visio UML. 

Software Modeling Issues in Visio for Enterprise Architects

2	Project location for generated code appears at the bottom of the Generate dialog box.
3	Creating an ASP .NET project requires entering a URL for project location.
4	Use of character "@" in class name is allowed in C#: ignore code warnings.
5	Using the name "Class1" when generating a Class Library project causes an extra dialog box to appear.
6	Overriding operations in a base class requires setting UML Method properties.
7	In C++, global and file level static variables are reverse engineered as utility classes.
8	The software modeling solution has no built-in representation for pointers, arrays, and references.
9	C++ parameterized classes may need explicit binding before code generation.
10	UML identifier names with white spaces on Korean, Japanese, or Simplified Chinese operating systems.

Software Modeling Issues in Visio Professional 2002 and Visio for Enterprise Architects, included in Visual Studio .NET Enterprise Architect

Associations do not have corresponding elements in the UML Model Explorer. (They appear only on the drawing page.)
UML association shapes (relationships) appear only on the Visio drawing page, not in the UML Model Explorer tree view as other elements do. You cannot view, add, or delete associations from within the tree view; you can only manipulate them directly on the drawing page.
If you delete an association shape from one page in a drawing file, the relationship will persist and can be viewed on other pages where shapes representing the associated elements have been placed. However, if you delete the only view of an association shape that represents a relationship between elements, then you have actually removed the relationship from the model. 
If association shapes (relationship lines) between elements are removed from some pages in a drawing file, but are still present on other pages, you can show relationship lines for the associated classes on any page where shapes for the associated elements appear.
To view relationship lines for a class element:
·	Select the class element involved in an association, right click, and then click Show Relationships.
To recover an association shape deleted by mistake:
·	Click Undo Delete on the Edit menu.

You can turn off display of multiple relationship lines on the drawing page.
Relationship lines automatically appear on the drawing page when multiple instances of the same class are dropped onto the page. For example, Class 1 and Class 2 shapes appear on the drawing page with a Binary Association line between them. If you then drag another Class 1 shape from the UML Model Explorer onto the drawing page, a second relationship line also appears, connecting the second Class 1 shape to the existing Class 2 shape. Dragging additional Class 1 or Class 2 shapes onto the page results in additional lines, causing confusion. 
Relationship lines are designed to appear in this manner, because they represent the associations between the classes. However, you can reset a registry key to change this behavior, and then view relationship lines as needed by showing relationships.
To turn off the automatic display of additional relationship lines: 
1. Use the registry editor to go to HKEY_CURRENT_USER\ Software\ Microsoft\Visio\Solution\UML Solution 2002.
2. For the string "Automatic Instance UML relationships," the initial value is 1. Change the value from 1 to 0.
To display additional relationship lines:
·	Select a shape, right-click, and then click Show Relationships.
For more information, see the readme item "Associations do not have corresponding elements in the UML Model Explorer."

Position of labels for Association shapes can be unclear.
Sometimes the labels for the text related to association shapes are not close enough to the corresponding lines on the diagram. You might not be able to tell which shape a label applies to, particularly when several lines connect to the same shape. Four labels can be associated with an Association shape, each in its own text block:
·	Name of the association shape
·	Name of one end
·	Name of the other end
·	Text block for the multiplicity setting
Follow these instructions to unlock and move text labels to make your diagrams more readable.
1. Select the association shape with the label you want to move.
2. From the Window menu, click Show Shapesheet.
3. On the Protection section of the shape sheet, in the LockTextEdit cell, change the value from 1 to 0, and then press Enter.
Changing this value allows the text to be moved and edited.
4. From the standard Visio toolbar, click the Text Block Tool.
5. Use the Text Block Tool to select the label (which is a subshape within the association shape), and then drag the label to where you want it in the diagram.

Qualifier attributes cannot be viewed on the drawing page.
According to the UML 1.2 specification, qualifier associations are represented visually in a UML diagram with the various attributes listed inside a box shape. In Visio however, attributes of qualifiers can be viewed only in the properties pages for Association Ends. 
Follow these instructions to view qualifier attributes:
1. Double-click an association shape with a small box at one end (the box indicates a qualified association). In the UML Association Properties dialog box, view the list under Association Ends.
2. Select the End Name that has the attributes you want to view, and then click Properties.
3. In the UML Association End Properties dialog box, under Categories, click Qualifier Attributes, and view details of the attributes.

Using Visio 2000 and Visio 2002 UML reverse engineering add-ins on the same machine.
Visio 2000 and Visio 2002 UML reverse engineering add-ins for Visual Basic 6.0 (VB6) and Visual C++ 6.0 (VC6) cannot be used simultaneously on the same machine. These add-ins are installed with the Visio UML solution. UML reverse engineering from VB6 and VC6 will not function if both Visio 2000 and Visio 2002 add-ins are enabled within Visual Studio. 

To use the Visio 2000 add-ins:

1.	Disable the Visio 2002 add-ins from within VB6 or VC6 (see Note below).
2.	Make sure Visio 2002 is not running.
3.	Run Visio 2000.
4.	Enable the Visio 2000 add-ins within VB6 or VC6 (see Note below). 
5.	Use the add-in.

To use the Visio 2002 add-ins:

1. 	Disable the Visio 2000 add-ins from within VB6 or VC6 (see Note below).
2. 	Make sure Visio 2000 is not running.
3. 	Run Visio 2002.
4. 	Enable the Visio 2002 add-ins within VB6 or VC6 (see Note below).
5. 	Use the add-in.

Note: To access Visio add-ins in VB6, on the Add-Ins menu, click Add-In Manager; in VC6, on the Tools menu, point to Customize, and then click the Add-ins and Macro Files tab.

Behavior issues and remedies:

·	Existence of two toolbars in either VB6 or VC6 (i.e., both UML solution add-ins are currently active). User action required: Close VS and perform the corresponding five steps above to disable one of the add-ins.

·	No action occurs when a toolbar button is clicked in VB6 or VC6 while Visio is minimized (i.e., Visio does not restore automatically when an operation is performed). User action required: Click the Visio icon on the Windows toolbar.

·	The following dialog box message is issued by Visio 2002:

Microsoft Visio Professional 2002
Please wait while Microsoft Windows configures Visio Professional 2002.

Visio 2000 was run prior to 2002. Visio 2002 needs to update settings modified by 2000.
User action required: No action required.

·	The following dialog box message is issued by VB6:

Microsoft Visual Basic
Visio 2002 UML Visual Basic add-in could not be loaded. Remove it from the list of available add-ins?

Visio 2000 was run prior to VB6 attempting to load the 2002 UML add-in. The add-in cannot be loaded, as certain settings have been modified. User action required: Click No and perform the corresponding five steps above to disable one of the add-ins.

·	The following dialog box message is issued by VC6:

Microsoft Visual C++
Visio 2002 add-in in C:\...\umlvc60.dll
Unable to load this add-in because its server object failed to be created. This add-in will not be loaded by default in the future.

Visio 2000 was run prior to VC++ attempting to load the 2002 UML add-in. The add-in cannot be loaded as certain settings have been modified. User action required: Click OK and perform the corresponding five steps above to disable one of the add-ins.

Adjusting the font in the Windows User Interface shapes.
Text within the Windows User Interface shapes appears by default as "Arial 8pt." These shapes will appear much more like Windows 2000 elements if their font is changed to Tahoma. We recommend that you first place all interface shapes in their correct positions, and then either use the mouse or CTRL+A on the keyboard to select all shapes and change their font formatting all at once.

Error messages during reverse engineering from Visual Studio .NET to Visio UML. 
A number of error messages and warnings may appear in the Output window of Visual Studio .NET Enterprise Architect while reverse engineering source code into a Visio UML model. Some error messages indicate that the process has stopped, and a fix may be possible to get restarted. In other cases, a warning message indicates an issue with a specific code element, but the overall reverse engineering process continues.
The following error messages appear when the reverse engineering process stops. Once they’re fixed, you can restart the process. 
"Couldn't export the UML model to Visio."
Visual Studio cannot create a temporary file to store the model information. Check to make sure that the temp directory is writeable and that the local hard disk is not full. 
"Couldn't load the UML model into the Visio diagram."
A problem exists in your Visio installation. Check to see if Visio for Enterprise Architects is installed correctly, including the templates for UML modeling, and that you have the correct files for your locale (US or non-US). 
"Please select a single project or the solution for reverse engineering."
You can reverse engineer the entire solution or a single project, but not solution items or miscellaneous files.
"Can't find one of the references for this project. Please make sure all references exist." 
One of the references in a Visual Basic project is missing. Check the references to ensure that all the reference files physically exist in the location specified in the project.
Warnings  When either a naming conflict or other error has occurred, the follow message appears:
"There were warnings during reverse engineering.”
Reverse engineering continues despite a warning message, but the element or member causing the problem may not be included in the UML model. 
Name clashes occur when a solution contains more than one C++ project with identical members, for example:
"Warning W0001: Name clash: Found 2 matches for CmyClass."
Various situations can cause other errors for a given code element. A message then appears about the specific element that couldn't be reverse engineered to the UML model. For example:
"Couldn't reverse engineer a UML relationship."
"Couldn't reverse engineer an interface."
"Couldn't add the SolutionItems project to the solution."
Note: To avoid warnings, make sure you compile your code before you reverse engineer. (In Visual Studio .NET, use Build Solution or Build Project on the Build menu before using Visio UML à Reverse Engineer on the Project menu). 

Software Modeling Issues in Visio for Enterprise Architects
The following issues apply only to Visio for Enterprise Architects, included in Visual Studio .NET Enterprise Architect.

Project location for generated code appears at the bottom of the Generate dialog box.
When generating Visual Studio projects and solutions from Visio UML model diagrams, the project location shown in the Generate dialog box under Project is not complete and may be misleading. The complete project location appears at the bottom of the dialog box in the dynamic text that begins "Project will be created at...", for example, “Project will be created at c:\inetpub\wwwroot\mywebproj\Solution1\WebApp1.”This text reflects any changes to the project and solution names and the project location.  

Creating an ASP .NET project requires entering a URL for project location.
If you plan to create a Visual Studio .NET project based on the ASP .NET Web Application template, you must specify a URL for the project location in order for the code to be generated. (This applies to Web projects created for Visual Basic or C#.)
Scenario After setting options to create an ASP .NET Web application, and clicking OK in the Generate dialog box, the following error appears in the Output window in Microsoft Visio:
“The project you are trying to open is a Web project. You need to open it by specifying its URL path.
Could not complete code generation" 
To resolve this error, you must type in a URL that points to the root directory you have specified for your installation of IIS (Internet Information Server). 
For example, if the default root directory for IIS is:
\inetpub\wwwroot
and your solution and project files are created in the folder:
\inetpub\wwwroot\mywebproj
then the URL that points to this location is:
http://<localhost>/mywebproj <http://localhost/mywebproj>. 
In the Generate dialog box, specify the following under Project:
·	For Location, type the required URL, for example <http://localhost/mywebproj>.
·	Select the Add Classes to Visual Studio Project check box.
·	For Template, select ASP .NET Web Application.
The project location is set the first time the code for an ASP Web application is generated. The project location then appears in the Location box in the Generate dialog box as follows:
\inetpub\wwwroot\mywebproj 
If you create other such projects or add new files to the same project at that location, you must enter the URL for that location again (Location: <http://localhost/mywebproj>).

Use of character "@" in class name is allowed in C#: ignore code warnings.
If you use the character "@" in the name of a UML class, a warning appears in the Code tab of the Output window when you check the code (on the UML menu, click Code and point to Check). For example, after a code check on a model containing a class named "@Class1", this warning appears:
Identifier name '@Class1' is not a legal name in C#: @Class1
You can safely ignore this warning. In the current C# specification, the “@” character is allowed as a prefix to enable keywords to be used as identifiers.
Note:  You can ignore these code warnings when using C#, but the warnings apply if you are using C++ or Visual Basic.

Using the name "Class1" when generating a Class Library project causes an extra dialog box to appear.
If you have a class named "Class1" in a UML model diagram, and you are generating code for a Visual Studio project based on either the Class Library or Windows Control Library template, the following situation occurs.  After you click OK to start generating the code, and have agreed to the project location in the UML Code Generation dialog box, another dialog box appears with this message:
"Class1 has been modified outside the editor; do you want to reload it?"
Visual Studio uses a temporary placeholder file named class1.vb or class1.cs in the code generation process, and having an actual "Class1" in a project raises the issue of two files with the same name. You can safely click Yes if you see this dialog box, or simply avoid using the name "Class1" in a library project. 

Overriding operations in a base class requires setting UML Method properties.
If you have a parent class (base class) and a child class (derived class), and you want to override an operation in the base class, you must use settings in the method properties pages.
Example: Class1 (the parent class) and Class2 (the child class) in a UML diagram both have polymorphic operations defined, and both operations are named Operation1. The default name "Static Model" is used for the model and the default name "TopPackage" package, is used for the package, although different names can be set.
Follow these instructions to generate code as expected when using C#:
1. Double-click the Class2 shape in the diagram.
2. In the UML Class Properties dialog box, under Categories, click Operations.
3. Select Operation1 in the list of Operations, and then click the Methods button.
4. In the UML Method Properties dialog box, the default setting in the Operation Name list box is: Static Model::TopPackage::Class 2::operation1. From the drop-down list, select the operation in the parent class (Class1): Static Model::TopPackage::Class 1::operation1.
5. Select the Has Method check box, and click OK in the UML Method Properties dialog box.
6. Click OK in the UML Class Properties dialog box.
The C# code now appears as follows when previewed:
...
public class Class2	: Class1
{
	public override void operation1()
...
A semantic error appears in the Output window, which is to be expected because the two methods (Class1::Operation1 and Class2::Operation1) now have the same function signature. 
Note:   If you want to hide the operation in the base class, you should create a new operation in the derived class with the same name and signature. This will generate code with the keyword "new" placed in front of the operation.
For more information, see the Visio help topic "C# code mapping for operations of a UML class element."

In C++, global and file level static variables are reverse engineered as utility classes.
If you are reverse engineering a solution file that contains file-scoped global variables, a utility class named Common is created with global variables modeled as attributes within a utility class. Common.cpp is a single file that is shared across the projects, and it contains the following definition for a file scoped variable:  
static int i_filevar 
For example, if Solution1 containing Project1 and Project2 is reverse engineered, Common.cpp, which contains the variable “i_filevar,” appears in three locations:
\Solution1
\Project1
	Source1.cpp
	Source1.h
	Common.cpp
\Project2
	Source2.cpp
	Source2.h
	Common.cpp
\Common
	Common.cpp
	Common.h
In this situation, semantic errors will appear in the Errors tab of the Output window in Visio. To remove the errors, go to your Visual Studio project files location and simply delete the extra copies of Common.cpp.

The software modeling solution has no built-in representation for pointers, arrays, and references.
The UML specification has no built-in representation for pointers, arrays, or references. They can be set using the Suffix (*,  []) and Prefix (&, ref) edit boxes in UML Parameter Properties dialog box, and then used during code generation.
During a semantic error check, operation signatures that differ only in these pointers or references are regarded as identical, and errors will be generated. If the Relax Semantic Error Checking option is turned on, such errors are ignored.
Notes: 
·	Pointers (*) and references (&) are symbols used in C++.
·	The array symbol ([]) is used in both C++ and C#.
·	The ref symbol (ref) is used in C#. 

C++ parameterized classes may need explicit binding before code generation.
When reverse engineering a C++ template (parameterized class), template binding is implicitly expressed in the UML model. If you later decide to generate code from the UML model, you may need to modify template binding if you want to accurately generate the code. 
You can switch from implicit template binding to explicit binding in the following way:
·	Create a bound object for the template instantiation.
·	Attach the parameterized class to the bound object with a Binding shape.
·	Set the binding parameters to match the data types you want for each parameter of the class.

UML identifier names with white spaces on Korean, Japanese, or Simplified Chinese Operating Systems
If you install an English version of Visio on a computer running Korean, Japanese, or Simplified Chinese operating systems, and you have a Korean, Japanese, or Chinese name for a UML identifier (e.g., a Class) with white spaces in it, when you generate code, the name will not be generated correctly.  Remove the white spaces in the identifier name to fix this problem.

	
Database Modeling Solution

Database Modeling Issues in Visio Professional 2002 and Visio for Enterprise Architects, Included in Visual Studio .NET Enterprise Architect

1	Hyperlink fields set in a Microsoft Access database are not reverse engineered correctly.
2	The Sybase ODBC driver does not support reverse engineering of default values and primary key names.
3	File Data Sources not supported.

Database Modeling Issues in Visio for Enterprise Architects

1	Major differences exist between the ORM Diagram and the ORM Source Model solutions.
2	Data type settings change on generate or update of an Access database schema from a Visio database model.
3	Reverse engineering into the same database model more than once may cause loss of database objects.
4	Trigger code for referential integrity settings fails to compile when using the Oracle ODBC database driver.
5	An ORM Source Model can generate stored procedures that require user action without informing user.

Database Modeling Issues in Visio Professional 2002 and Visio for Enterprise Architects, Included in Visual Studio .NET Enterprise Architect
Hyperlink fields set in a Microsoft Access database are not reverse engineered correctly.
When reverse engineering a Microsoft Access database containing a table with a field set to the data type "Hyperlink," the hyperlink setting is not reflected in the database schema that Visio extracts. Instead, a hyperlink field from an Access database is converted to a memo field in the Visio Database Modeling solution.
This situation occurs because a hyperlink field is not a distinct data type in Access; a hyperlink field is actually a memo data type field with a hyperlink attribute flag set. Both the memo and hyperlink fields in Access are reverse engineered in Visio as the data type LONGCHAR.
To help identify Access hyperlink fields once the database schema is transferred to Visio, you can add a comment to the field in Access before starting the reverse engineering process. Comments in Access tables appear as notes in the Columns category of the Database Properties window in Visio.

The Sybase ODBC driver does not support reverse engineering of default values and primary key names.

During the reverse engineering process of a Sybase database containing a table with a default value defined for one of its columns, the default value will not be reverse engineered. This is due to a limitation of the Sybase ODBC driver.

During the reverse engineering process of a Sybase database containing a table with a primary key, the actual primary key name is not reverse engineered due to a limitation of the Sybase ODBC driver. Instead, the physical name of the column appears in the form: <Table-name>_PK, a default name automatically created by Visio. This Physical Name can be viewed in the Database Properties window, under the Primary ID category.

File Data Sources not supported.

For a data source name to appear in the Data Sources list in the Reverse Engineer Wizard or the Update Database Wizard, the data source must be a User Data Source or a System Data Source.

To create a new User or System Data Source:

In the Reverse Engineer Wizard or the Update Database Wizard, choose New... to open the Create New Data Source dialog box.  In the Create New Data Source dialog box, make sure that User Data Source or System Data Source is selected before you click the Next> button.

You can also create a new User or System Data Source on your computer with the ODBC Data Source Administrator (odbcad32.exe).  Choose the User DSN or System DSN tab. Click the Add… button and follow the instructions to create the new data source.

Database Modeling Issues in Visio for Enterprise Architects

The following issues apply only to Visio for Enterprise Architects, included in Visual Studio .NET Enterprise Architect.

Major differences exist between the ORM Diagram and the ORM Source Model solutions.
Because Visio for Enterprise Architects includes all the functionality of Visio Professional 2002, the ORM Diagram solution is included along with the ORM Source Model solution. Although you can use both solutions to create ORM diagrams, there are major differences between by the two.
On the surface, the ORM Diagram stencil, with its many shapes and types of constraints, appears more sophisticated than the ORM Source Model stencil, which has only three shapes. However, the ORM Diagram solution supports only simple ORM drawings, and unlike the deep ORM Source Model solution, it has no database model behind it.
The ORM Source Model solution, on the other hand, supports an improved diagram notation for ORM, with a very different drawing method. Each of the three basic shapes on the stencil has numerous properties and settings that you can configure to create advanced ORM diagrams. In addition, you can use the ORM Source Model solution to forward engineer a database schema from a database model, as well as to reverse engineer a model from a physical database. ORM source models can also become part of a database project, used in conjunction with the Visio Database Model Diagram solution.
In short, if you want quick but simple ORM diagrams, use the ORM Diagram solution. However, if you want rich, full-featured ORM diagrams that can be forward engineered to or reverse engineered from physical database schemas, use the ORM Source Model solution.

Data type settings change on generate or update of an Access database schema from a Visio database model.
User settings for Decimal or Bit data types in database model diagrams change during the process of generating or updating a database schema in Access. The problem occurs when you create a database model using these data types in Visio, and then use the Visio Generate Wizard to generate a database schema for Access. Whether you created the new database model from scratch, or based it on information that was reverse engineered from an existing database, the data type settings change when you generate a database schema for Access.
Data type settings also change if you reverse engineer an existing Access database containing Decimal or Bit data types to create a database model, modify the model, and then use the Update Database Wizard to synchronize the original Access database so it conforms to the model.
The following changes occur:
•	A column in the database model with a Decimal data type generates a number field in Access, with the FieldSize property set to LongInteger, instead of generating an Access Decimal field, as expected.
•	A column the database model with a Bit data type generates a field of data type Yes/No in Access, with the format for the field also set to "Yes/No" (even though the format set in the model may have been “True/False" or "On/Off").
Note:  The term "Yes/No" is used in Access for the name of a data type and also as the one of the properties available when the special Format property is used with the Yes/No data type. To correct the data type settings, after generating or updating the database model to Access, manually change data type properties in Access using Design View. 

Reverse engineering into the same database model more than once may cause loss of database objects.
If you create a new database model diagram by reverse engineering an existing database, modify the model, and then again reverse engineer the same physical database into the model, you may lose some of your database objects during a subsequent update process. For example, after reverse engineering a database, you might delete one or more tables from the model diagram, make other modifications, and then reverse engineer again to obtain additional objects from the physical database. If you then use the Update Database Wizard to synchronize the physical database and the logical database model, the table or tables you deleted from the model will also be deleted from the existing physical database. 
The reverse engineering and updating processes in Visio for Enterprise Architects are designed to allow changes to be reflected in an existing physical database, so the behavior described above is to be expected. Visio maintains a record of changes made to a database model and propagates those changes to the physical database during the update database process. The reverse engineering process does not reset the record of changes for a particular database model diagram. 
Important:  To ensure that you not lose database objects during an update process, do not reverse engineer a particular physical database into the same database model more than once. If you want to reverse engineer a database multiple times, do so into a new database model diagram every time. 

Trigger code for referential integrity settings fails to compile when using the Oracle ODBC database driver.
When certain referential integrity properties are set for tables in a database model diagram, the trigger code created for an Oracle database schema fails to compile when you generate an Oracle database using an ODBC driver supplied by Oracle. The problem does not occur when using an ODBC driver for Oracle that is supplied by Microsoft. 
In Visio for Enterprise Architects, referential integrity is enforced during the insert, delete, and update operations for tables with a parent/child relationship defined, and most driver implementations now support accurate referential integrity enforcement.
If either the option Set NULL or the option Do not enforce is set for both On parent update and On parent delete, code to implement the triggers is created when an Oracle database schema is generated, but the code fails to compile. In addition, the trigger code does not appear in the Visio Code window as expected. The CREATE TRIGGER command will report: 
"Trigger, procedure or function created with PL/SQL compilation error(s)."
When attempting to compile the trigger code in Oracle, the status for the trigger is set to INVALID, and errors such as the following appear:
Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the symbol "" when expecting one of the following:
     begin declare exit for goto... 
You may be able to force the trigger code to recompile by editing the trigger code in the Oracle DBA Studio. Making a trivial change, such as adding or removing a space and then applying the change, forces a recompile. 
Follow these instructions to force the trigger code to recompile:
1. In the Oracle DBA Studio, select a trigger of the child table or parent table from the list of schema triggers owned by your username. The properties of the trigger appear in the right pane.  
Note: To find the names of the triggers, look in the CREATE TRIGGER statements in the DDL file that can be created while generating or updating a database schema for an Oracle DBMS.
2. Add a space at any location in the trigger code.
3. Remove the space you just added.
4. To apply your change, click Compile.
The trigger code should now work correctly.
Note: Other referential integrity settings in addition to Set NULL and Do not enforce can cause trigger compile errors.

An ORM Source Model can generate stored procedures that require user action without informing user.
A constraint expressed in an ORM source model may generate stored procedure code for constraints that span multiple tables. However, you are not told that to enforce the constraint you need to either write some code to call the procedure or replace the stored procedure with multiple triggers.
Sample code to call the stored procedure
In this example, the ORM source model sample Employee is mapped to SQL Server, and the constraint involved is “No Project is managed by and was reviewed by the same Employee." (Employee ORM source.vsd is found in the Database sample drawings folder.) To enforce the constraint, the following code is added to the DDL script used to generate the SQL Server DMBS:
Create Procedure sp_Project_excl1 as
if (
    not exists (select * from "Project" T0, "Review" T1
                where T0."projectName" = T1."projectName"
 and T0."managerEmpNr" = T1."reviewerEmpNr")
)
  return 1
else
  return 2
You can check the validity of the constraint by running the procedure and inspecting the value returned. When the procedure is called, a "1" is returned if the constraint is satisfied, and a "2" is returned if the constraint is violated. 
Replacing the stored procedure by multiple triggers
Instead of calling the procedure, you can replace the stored procedure using triggers on the tables involved:
·	Add an insert/update trigger on the Project table, together with an insert/update trigger on the Review table. 
These triggers check that the values for managerEmpNr and reviewerEmpNr (as used in the code above) differ when Project.projectName = Review.projectname. For more information, see the help topic "Create a trigger for a table (Database model)."

Abbreviation list in ORM source models is not automatically updated 
When an ORM source model is added to a Database Model Project and the logical database model is built, names used in the ORM model are used to help generate meaningful names for the corresponding tables and columns in the logical database model. Each ORM source model has an abbreviation list that indicates how words in names of specific elements in the ORM model are abbreviated when generating names for elements in the logical database model at build time. 
To view the abbreviation list from within an ORM source model, on the Database menu click Options and then click Document. Then choose the Abbreviations tab in the ORM Document Options dialog box. By default, the abbreviation list in an ORM Source Model is pre-populated with a number of words (e.g. "a", "an") that are abbreviated to an empty string. (These words are ignored when names are generated for the logical model).  
As an ORM model is developed, element names are not automatically added to the abbreviation list, but you can add your own abbreviations manually. For example, if you add a row to the abbreviation table with "Employee" in the Name column and "Emp" in the Abbreviation column, then "Employee" will be replaced by "Emp" in tables in the target logical database model.
Note: To sort the abbreviation list at any time, copy (CTRL+C) the abbreviation list into Excel or a table in Word, sort it there, and then paste (CTRL+V) it back into the ORM Source Model.

Abbreviation list is not imported when importing VisioModeler files
When an ORM model previously created in VisioModeler is imported into an ORM source Model, the abbreviation list is not automatically imported with it. To import the list manually: 
1) In VisioModeler, Click the upper left square to highlight the whole grid. 
2) Press CTRL+C to copy the list.
3) In Visio for Enterprise Architects, with the ORM Source Model solution open, access the abbreviation list. (On the Database menu click Options, then click Document, and choose the Abbreviations tab.) Then click the upper left square to highlight the whole grid.
4) Press CTRL+V to paste the list. 
Note: To import an ORM model created in VisioModeler into an ORM source model, on the Database menu click Import/Export, and then click Import VisioModeler.imo file. To sort the abbreviation list during this process, first copy the abbreviation list into Excel or a table in Word, and then sort it there, before pasting it into the ORM Source Model.

Microsoft Visio
End of Release Notes