For a few versions I had issues running IDA Pro in Crossover with IDAPython enabled. Prior to the starting issues, everything worked fine, e.g. in the IDA 6.x version range. Please note that the setup of IDA Pro also succeeded with 7.x versions, but the program would crash and write a minidump whenever it started (provided it was installed with a Python it could detect).
Finally I got around to fixing the underlying issue .
The steps are as follows:
- Create a Windows 10 64-bit bottle in Crossover
- (Optional!) Using “Run Command…” to start Wine’s
regeditdisable audio for the bottle by creating a key
HKEY_CURRENT_USER\Software\Wine\Driverswith an empty
REG_SZ(string) value named
- Next use “Install” searching for “IDA Pro – Interactive Disassembler”1 in the first step, picking the IDA installer, e.g.
idapronw_*_*.exe, in the second and selecting the prepared bottle in the third, then finishing the installation
- Follow the steps of the IDA Setup, leaving the defaults until the step following the installation password prompt
- When it offers “Install Python 3” (the current default), uncheck that checkbox and proceed to the installation step with the progress bar
- DO NOT be alarmed when after the installation concludes you get to see “The configuration failed with the following output:” complaining “No Python installations were found” — we are going to fix this part soon enough
- The next step will claim success anyway
- (Optional!) For giggles you can now start the freshly installed IDA — it should work fine, but without IDAPython active
- (Optional!) Back in Crossover under “Edit Menus” uncheck the “Uninstall IDA …” item as well as the two other items from the start menu, without the IDA version number; only leaving the two items from the Desktop
- Next, download the Python 64-bit installer (e.g.
python-3.10.1-amd64.exe) and install it into the bottle using “Run Command…”
- Enable the “Add Python … to PATH” option on the initial setup wizard screen
- Then click the “Customize installation” button
- Leaving everything as is on the next page, proceed with “Next”
- In the “Advanced Options” step check the “Install for all users” checkbox, which will alter the installation path to go into
- Proceed with the installation
and wait for it to finish
- (Optional!) Back in Crossover under “Edit Menus” for the current bottle, I get rid of the IDLE entry, just leaving the Python, Manuals and Module Docs be
- Start the freshly installed IDA (64-bit) — it should work fine, but without IDAPython active
- Now comes the crucial final step, starting
regeditusing “Run Command…”, head to the IDA key (
HKEY_CURRENT_USER\Software\Hex-Rays\IDA) and create a
REG_SZ(string) value named
Python3TargetDLLand containing the full path to the
python3.dllinside the bottle, e.g.
C:\Program Files\Python310\python3.dllfor Python 3.10.x!
NB: refrain from using
python310.dll. Picking it appears to be part of the trouble!
The outcome should look somewhat akin to this:
NB: These instructions were tested with IDA Pro 7.6 SP1 (+ Python 3.8 + Python 3.10.0) and with IDA Pro 7.7 (+ Python 3.10.1) on Crossover 21 and
… the outcome should look about like this when editing associations:
$BOTTLEPATH/cxassoc.conf will contain the following entries:
[.i64] "Mode" = "default" "MimeType" = "" "Description" = "IDA (64-bit) Database" "AppName" = "The Interactive Disassembler" "Type" = "Windows" [.idb] "Mode" = "default" "MimeType" = "" "Description" = "IDA (32-bit) Database" "AppName" = "The Interactive Disassembler" "Type" = "Windows"
- You could also use “Unlisted Application” here, but picking the above will allow the associations for
.i64to work [↩]