Installing Enterprise Architect inside WINE

Introduction

This web page describes how to install Enterprise Architect within Wine. We assume some knowledge of downloading installers and running scripts.

Requirements

The install process documented in this paper makes frequent use of the winetricks script. The winetricks script is maintained by the Wine community and is able to download, install and configure Wine packages on the users behalf.

The winetricks script is available from http://winetricks.org/winetricks

Additionally it is assumed that WINE and the associated WINE utility cabextract are already installed on the host computer.

If you are using a 64 bit linux distribution, please read Appendix D: Installing Wine dependencies for Linux 64 bit editions before continuing.

Installing Enterprise Architect with Crossover

This section explains how to set up Enterprise Architect within the Crossover environment when using the Linux or Mac OS.

Step 1: Download Necessary Components

To install Enterprise Architect the following components are required:

Step 2: Installing Registered Version of Enterprise Architect

  • Under the Crossover Menu, select "Install Windows Software".
  • Find the "Enterprise Architect 10.x" item
  • Change the installer to the location of the easetupfull.exe you downloaded.
  • Click Install.

Step 3: Installing Enterprise Architect Add-ins. (optional)

  • Under the Crossover Menu, select "Install Windows Software".
  • Find "Unsupported Application -> Option Application"
  • Click on "Select an Installer" and select the Add-in installer.
  • Click on "Select a bottle which to install" and select the one Enterprise Architects is already installed.
  • Click "Proceed"

Installing Enterprise Architect with Standard Wine

This section explains how to set up Enterprise Architect under the Wine environment with optional support for ODBC repository support.

Step 1: Download Necessary Components

To install Enterprise Architect the following components are required:

Step 2: Install Windows Components

At the command line, run the following

$ winetricks allfonts # install windows fonts
$ winetricks msxml3 # install MSXML3 support.
$ winetricks msxml4 # install MSXML4 support.
$ winetricks mdac28 # install data access components

Step 3: Change oledb32.dll to native

At the command line, run the following
$ winecfg

  • Switch to the Libraries Tab
  • Find "oledb32" in the "Existing overrides" list.
  • Click Edit.
  • Change to "native".

Step 4: Install Enterprise Architect

At the command line, run the following
$ wine easetupfull.exe or
$ wine easetup.exe # For the Trial Version

Step 5: Adding Unicode Database support (optional)

At the command line, run the following
$ winetricks jet40 Download the Jet 4.0 model from Jet 4.0 Model, and copy the contents of the file to the install directory of Enterprise Architect. Run Enterprise Architect and enabled the JET4 option from menu "Tools -> Options -> General Tab".

Step 6: Install an ODBC Driver (optional)

At the command line, run the following
$ wine msiexec /i mysql-connector-odbc-3.51.25-win32.msi

NOTE: 'msiexec /i' is only needed for MSI installers. Replace the filename with the one you downloaded.

Upgrading Enterprise Architect in Crossover

This section explains how to upgrade Enterprise Architect within the Crossover environment when using the Linux or Mac OS.

Installing updated version of Enterprise Architect.

  • Select "Tools -> Manage Bottles"
  • Select the bottle you want to update.
  • Select the "Applications" tab
  • Click "Install Software..." button.
  • Find the "Unsupported Application section" and select "Other Application"
  • Click Proceed
  • Click "Choose Installer File..."
  • Select file new Enterprise Architect installer.
  • Click Install.

You will be prompted to uninstall the old version of Enterprise Architect before the upgrade will occur.

Installing Enterprise Architect Add-ins

This section explains how to install Enterprise Architect add-ins under the Wine environment.

Step 1: Download Required Add-ins
Add-ins are usually distributed as executable installers. A list of some of the addins available for Enterprise Architect can be found at http://www.sparxsystems.com/products/index.html.

Step 2: Install the Add-in
At the command line, run the following $ wine EAZachman.exe # substitute with actual addin installer filename

Illustration 1: The Zachman add-in installer running in Wine

.NET Add-ins

Please note that .NET add-ins have not being tested under WINE. To run any .NET add-in you must install .NET 2.0 before running Enterprise Architect.

To install .NET, run the following from the command line

$ winetricks dotnet20

NOTE: Mono as at version 2.11.4 doesn't have the necessary functions implemented to support Enterprise Architect Add-ins.

Installing MDG Eclipse Link.

When running under Wine, the MDG Eclipse Link allows the user to link to an instance of Eclipse running natively on the Linux host. The instructions for this step assume that Eclipse has been set up within the native Linux environment.

Step 1: Download MDG Eclipse Link Installer
The MDG Eclipse Link installer executable is available from the Sparx Systems website at
http://www.sparxsystems.com/products/index.html

Step 2: Install MDG Eclipse Link
At the command line, run the following $ wine EAEclipse.exe

Step 3: Copy Eclipse Plugin Jar Files
To run the Eclipse link in the native Linux version of eclipse, the plugin jar files installed in Step 2 must be copied to the plugins directory in the location where Eclipse is installed. To copy the necessary jar files, run the following from the command line: $ cp ~/.wine/drive_c/Program\ Files/Sparx\ Systems/MDG\ Link/\
> Eclipse/*.jar PATH_TO_ECLIPSE_DIR/plugins

Connecting to a project

Step 1. Load Eclipse
Load Eclipse in the Linux environment and load your project you wish to link to Enterprise Architect.

NOTE: Java has a large amount of outstanding issues when used within the WINE environment, so ensure you use the native Eclipse version.

Step 2. Load Enterprise Architect
Load Enterprise Architect and Open a Model

Step 3. Setup options so Eclipse will correctly generate the file
Since Windows and Linux paths are difference, we need to setup how the path is converted.


NOTE: Replace "Y:" with the path you use in WINE.

Step 4. Connect to a Eclipse
Right Click on a package and select "Add-ins -> Connect External Project -> Eclipse"


Select the solution, and click Connect.

Setting up subversion with Enterprise Architect

This section explains how to setup subversion with Enterprise Architect.

Enterprise Architect requires that the subversion credentials be cached before making a connection. The initial SVN checkout will create the cache Enterprise Architect needs.

Step 1: Download Necessary Components

Ensure you have the program "ntlm_auth" installed as part of you Linux distribution. This is usually part of the winbind (samba) package.

Step 2: Install a subversion client.

You need to install a native subversion client into the same environment as Enterprise Architect.
At the command line, run the following.

$ wine <PATH_TO_SVN_INSTALLER> The following clients have been tested

Subversion Client Version
SlikSVN 1.6.9
SlikSVN 1.6.16
Versions known NOT to work
CollabNet Subversion Client 1.6.12

Step 3: Check out initial repository

At the command line, run the following.

$ wine <PATH_TO_SVN> co <PATH_TO_REPOSITORY> <OUTPUT_PATH> --username <USERNAME> --password <PASSWORD>

WARNING: Don't checkout the repository using the Native Linux/MAC client since the SVN credentials will not be cached correctly.

Step 4: Setup Version Control in Enterprise Architect


When you are prompted for "Are you using a Unix based Subversion Client" select "NO"

Step 5: Connect package to Version control.


Debugging and Sampling

This section explains how to set up Enterprise Architect under the WINE environment to Debug or Profile your application. We assume your application is installed successfully into the WINE environment, and *ALL* dependencies are met, i.e. Install msxml6 if your application needs it but isn't part of your installer.

NOTES:
  • This only applies to Native code (C++)
  • Assumes you have built your program in Visual Studio with Debug or Release with PDB support

Step 1. Copy all need files to the WINE directory.

  • Copy all your source from your development machine to the WINE environment, the path *MUST* match exactly. So if your source was compile in C:\source\yourApp. then you must copy the code to ~/.wine/drive_c/source/yourApp.
  • At this stage you might have to create a drive in winecfg if you use a build machine, to get the correct path
  • For every EXE and DLL you wish to debug, you must have the PDB for that file.
  • If you are using an Debug EXE, you might have to copy the MFC/ATL Debug SXS from your Windows machine to your WINE environment. C:\windows\WinSxS -> ~/.wine/drive_c/windows/winsxs

Step 2. Run your application
On the command line attempt to run your application manually. $ wine PATH_TO_APPLICATION If it runs, go to Step 3.

Check any output from WINE, for missed dependencies, and install them as needed. If you are sure that no dependencies are missed, and the crash is due to something else go to Step 3.
HINT: If a huge amount of output is generated by WINE, pipe the output to a file. $ wine PATH_TO_APPLICATION >& output.txt

Step 3. Import your Code (optional)
You don't have to import your code into Enterprise Architect, but it does help when you want to set breakpoints within your code.

Step 4. Setup Enterprise Architect Build Scripts.

  • On a package, add a build script
  • Setup the Run command
  • Setup the Debug command
  • Set "Use Debugger:" to "Microsoft Native"

Step 5. Breakpoints
Open a source file and place a breakpoint within the function to debug.

Step 6. Debugging your application

  • Open the Debugger Window or use the "Execution Analysis - Debug" workspace (preferred)
  • Select the Build Script you created in the previous step
  • Click the Play button

Notes

  • Check the breakpoint is bound, i.e. stays red, if it has a question mark it hasn't bound
  • If your breakpoint didn't bind, then DOUBLE check the source path match
  • Ensure PDB(s) are in the same directory as you EXE(s)
  • Ensure EXE and PDB match, i.e. are from the same compile

Appendix

Appendix A: Links

Sparx Systems http://www.sparxsystems.com
Sparx Systems Support http://www.sparxsystems.com/support/index.html
Wine http://www.winehq.com
Crossover http://www.codeweavers.com/

Appendix B: ODBC Versions

Results may vary depending on the version of ODBC drivers that you use. We have tested with the following versions

MySQL 3.51.25 http://dev.mysql.com/downloads/connector/odbc/3.51.html
MySQL 5.1.12 http://dev.mysql.com/downloads/connector/odbc/
MySQL 5.2.2 http://dev.mysql.com/downloads/connector/odbc/
MySQL 5.2.5 http://dev.mysql.com/downloads/connector/odbc/
Postgresql 8.04.0200 http://www.postgresql.org/ftp/odbc/versions/msi/
Postgresql 9.00.0310 http://www.postgresql.org/ftp/odbc/versions/msi/

Known versions not to work correctly: MySQL 5.2.4

NOTE: Once the ODBC driver is installed, you can configure the connection from Enterprise Architect menu "Tools -> ODBC Data Sources".

Appendix C: Known Issues and Workarounds

Issue: Enterprise Architect crashes on startup
Issue: Enterprise Architect prompts with "Cannot create GUID" or "Error creating XML Parser" when loading.
Solution 1: Install "msxml4" via winetricks

Issue: When attempting to Debug or Profile an application the Debugger/Profiler crashes
Solution: Ensure that SSampler and SSProfiler75 have WinXP as their windows version.

Issue: When attempting to Debug or Profile an application no data is returned.
Solution 1: Ensure that SSampler and SSProfiler75 have "dbghelp" overridden.
Solution 2: Ensure that the source path matches exactly to where it was originally compiled.

Issue: RTF document images are offset incorrect when "Diagram Format" is "Bitmap"
Solution: In Tools -> Options -> Diagram -> Appearance, Set "Renderer: to "Enhanced -1"
Issue: When using the MAC and WineSkin, EA crashes with an OLE error
Solution: Use WineSkin crossover engine WS4WineCX. NOTE: You will need crossover gecko engine for help to work.

Issue: Images (PNG,WMF,EMF) within Linked Documents don't display correctly.
Solution: Disable "gdiplus" library on the EA.exe.

Issue: When Profiling an application for a long period of time, the machine locks up.
Workaround: Profile in smaller time periods.
Solution: Currently no known workaround.

Issue: Exporting a Technology doesn't display the Title Text. Current status can be found Reported bug.
Solution: Currently no known workaround.

Issue: Debugging fails when using Ubuntu 12.04.
Issue: Source control fails when using Ubuntu 12.04.
Solution: Upgrade to WINE 1.5.7 or greater
Solution: Run the following command "echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope"
Note: This appears to be a bug in the linux kernel that is shipped with Ubuntu. See Ubuntu Bug Reference for more information. Appears to be fixed in Ubuntu 12.04.1

Issue: Dragging elements around the screen is slow
Solution: Issue appeared in WINE 1.5.13. Currently no known workaround.

Issue: Missing Project Browser Context Menu not working using Crossover for the MAC.
Solution: Toggle the Use legacy X Window System
  1. CrossOver -> Configure -> Manage Bottles
  2. Click the Advanced tab.
  3. Toggle the option "Use legacy X Window System"
  4. Reboot bottle as requested.

Appendix D: Installing Wine dependencies for Linux 64 bit editions

This section explains how to install the 32 bit dependencies that Wine requires when running Enterprise Architect. This section can be skipped if you using a 32 bit distribution.

Step 1: Using Ubuntu 64
At the command line, run the following

$ wget http://winezeug.googlecode.com/svn/trunk/install-wine-deps.sh
$ sudo sh install-wine-deps.sh

Step 2: Using other 64 bit Linux distributions

Check the following web pages for help
http://wiki.winehq.org/WineOn64bit
http://wiki.winehq.org/Recommended_Packages