Installing Enterprise Architect inside WINE

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://kegel.com/wine/winetricks

It is assumed that Wine and the associated Wine utility cabextract are already installed on the host computer.

Installing Enterprise Architect with Wine

This section explains how to set up Enterprise Architect under the Wine environment without support for scripting or Open Database Connectivity (ODBC) repositories.

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 msxml4 # install MSXML4 support

Step 3: Install Enterprise Architect
At the command line, run the following
$ wine easetupfull.exe or
$ wine easetup.exe # For the Trial Version

Installing Enterprise Architect with Support for ODBC Connections

This section explains how to set up Enterprise Architect under the Wine environment with additional Open Database Connectivity (ODBC) repository support.

Step 1: Download Necessary Components
To install Enterprise Architect with ODBC support, the following components are required:

Step 2: Install Windows Components
At the command line, run the following
$ winetricks allfonts # install windows fonts
$ winetricks msxml4 # install MSXML4 support.
$ winetricks vb6run # install Visual Basic Runtimes
$ winetricks mdac28 # install data access components

Step 3: Override OLEAUT32
At the command line, run the following
$ winecfg Set the library overrides for oleaut32 to (native, builtin)

Step 4: Install an ODBC Driver
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.

Step 5: Install Enterprise Architect
At the command line, run the following
$ wine easetupfull.exe or
$ wine easetup.exe # For the Trial Version

Step 6: WAN Optimizer Support (optional)
At the command line, run the following
$ winetricks msxml3 # install MSXML3 support.

Installing Enterprise Architect with Support for Scripting and ODBC Connections

This section explains how to set up Enterprise Architect under the Wine environment with support for Scripting and Open Database Connectivity (ODBC) repository.

Step 1: Download Necessary Components
To install Enterprise Architect with ODBC support, the following components are required:

Step 2: Install Windows Components
At the command line, run the following
$ winetricks allfonts # install windows fonts
$ winetricks msxml4 # install MSXML4 support.
$ winetricks vb6run # install Visual Basic Runtimes.
$ winetricks mdac28 # install data access components
$ winetricks wsh56 # install MS Scripting Host

Step 3: Install an ODBC Driver
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.

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: WAN Optimizer Support (optional)
At the command line, run the following
$ winetricks msxml3 # install MSXML3 support.

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: Using CodeWeavers automated install

  • Navigate to http://www.codeweavers.com/via/earchitect9
  • Click on the "Enterprise Architect 9.0 Home" Tab
  • Click on the "Install Enterprise Architect 9.0 Now" button
  • Click the Load button
  • Click the Install button
  • Everything Enterprise Architect needs is installed automatically

If the installer doesn't start automatically, run the following.
$ CROSSOVER_PATH/bin/cxinstaller PATH_TO_FILE/9035.c4p NOTE: The trial will be downloaded and installed by default. Once the trial starts to download you can skip/cancel this stage if want to install the registered version.

Step 3: Installing the Registered Version of Enterprise Architect.

  • Under the Crossover Menu, select "Install Windows Software"
  • Find the "Unsupported Application section" and select "Other Application"
  • Click Proceed
  • Click "Choose Installer File..."
  • Select file easetupfull.exe
  • Click Install

Upgrading Enterprise Architect in Crossover

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

Step 1: Remove Existing version of Enterprise Architect

  • Under the Crossover menu, select "Manage Bottles"
  • Find the Bottle Enterprise Architect is installed into
  • Select the "Applications" tab
  • Select "Enterprise Architect" in the "Installed Application" list
  • Click "Repair or Remove..."
  • Follow prompts to remove

Step 2: Installing Registered Version of Enterprise Architect

  • Click "Install Software..." button
  • Find the "Unsupported Application section" and select "Other Application"
  • Click Proceed
  • Click "Choose Installer File..."
  • Select file easetupfull.exe
  • Click Install

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

.NET Add-ins

Please note that third party add-ins built in .NET have NOT been tested. To install an add-in built in .NET you must have at least Wine version 0.9.59 and have .NET installed.

To install .NET, run the following from the command line $ winetricks dotnet20

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 EA.
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.

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

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.6 http://dev.mysql.com/downloads/connector/odbc/
PostgreSQL 8.04.0200 http://www.postgresql.org/ftp/odbc/versions/msi/

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/

Known Issues and Workarounds

Issue: Diagram scroll appears to be very slow
Solution: Change the renderer to Basic, which can be found under "Tools -> Option - Diagram -> Appearance".

Issue: Enterprise Architect Crashes when Viewing a generated RTF document that uses bitmaps to display diagrams
Solution: If you are using ODBC connections, disable "gdiplus" library on the EA.exe application otherwise ensure that "oleaut32" is using "builtin,native".

Issue: Enterprise Architect crashes on startup
Solution 1: This usually caused by MSXML4 not being registered correctly. Override msxml4 via winecfg and either install "msxml4" via winetricks or re-install Enterprise Architect.
Solution 2: If you have installed any Enterprise Architect Add-ins, try installing the VB6 Runtime library and overriding "oleaut32"

Issue: When connecting to an ODBC DBMS, Enterprise Architect crashes shortly after connecting
Solution: Override "oledb32" and re-install MDAC

Issue: Enterprise Architect prompts with "Cannot create GUID" or "Error creating XML Parser" when loading.
Solution: 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: Help sometime doesn't display correctly or crashes Enterprise Architect
Solution: Install "ie6" via winetricks

Issue: RTF Template editor, Linked Document editor and Note window Text appears corrupted on load or after a carriage return.
Solution: This bug was introduced in Wine 1.1.43, current status can be found at Reported Bug