Submitted by Pierre_Admin on 2010/08/15 15:40
It would be great if IQ could run on Linux (using Wine). If MS Office 2007 can run, surely, one can do the same with IQ:
 
 
I'm offering a free professional license ($200 value) to whoever can get it to run smoothly.
 
(and of course, I'm willing to help in the debugging, providing special builds to help)
 
 

Comments

I don't want to steel somebody else's opportunity to make IQ run on Linux... But IF nobody else is interested (hey common Guys : a free professional license !) I'll give it a try after September the 5th (have a show to prepare before that).
 
[edit : forgot the IF...]
 

vortsg

2010/08/23 21:28

In reply to by Armando

Well, I already purchased a license, but I am willing to give it a try.  I run Linux at home, but Windows XP at work.  I would love to be able to run IQ on my Linux box at home.  I have already tried to install IQ via WINE, but received errors when trying to execute the application.  I also checked the WINE website and found that IQ had a poor rating regarding compatibility with WINE.  I hope this can be corrected with my efforts or anybody else.
 
vortsg

Pierre_Admin

2010/08/23 21:45

In reply to by vortsg

Wonderful !!! I would start with looking at how it is done for MS Office.
 

Armando

2010/08/23 23:22

In reply to by vortsg

+1
 
Go go go vortsg !!
 
Like I said, I'll have a bit more time after the 5th. So maybe I'd be able to help. I have Linux mint installed on an old computer at home.

vortsg

2010/08/23 23:51

In reply to by Armando

I am currently running Fedora 13.  The nice part about Fedora is that there is plenty of information on the web to help out.  Same with all the major distros like Ubuntu, Debian, Mint, etc.
 
I did a little testing tonight and found that all of the codejocks OCX files failed to register because it could not find the MFC42.dll and MFC42u.dll.  I copied some into the system32 folder and registered them manually and they all completed successfully.  I now have about 8 more errors on startup I am tracking down.
 
BTW, does the IQ installer install the JET engine or is expected to already be present?
 
vortsg.

Pierre_Admin

2010/08/23 23:56

In reply to by vortsg

[quote=vortsg]
  1. I now have about 8 more errors on startup I am tracking down.
  2. BTW, does the IQ installer install the JET engine or is expected to already be present?
[/quote]
 
  1. Great !
  2. It is expected to be present, as it is an integral part of Windows
The following is the list of files to register (Installer version):
  1. Source: c:\windows\system32\msscript.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile noregerror;
  2. Source: c:\program files\common files\system\ado\msadox.dll; DestDir: {cf}\system\ado\; Flags:  regserver restartreplace sharedfile noregerror;
  3. Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\oleaut32.dll; DestDir: {sys}; Flags:  regserver restartreplace sharedfile noregerror;
  4. Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\olepro32.dll; DestDir: {sys}; Flags:  regserver restartreplace sharedfile noregerror;
  5. Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\msvbvm60.dll; DestDir: {sys}; Flags:  regserver restartreplace sharedfile noregerror;
  6. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\comdlg32.ocx; DestDir: {sys}; Flags:  regserver restartreplace noregerror sharedfile;
  7. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\mscomctl.ocx; DestDir: {sys}; Flags:  regserver restartreplace noregerror sharedfile;
  8. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\mscomct2.ocx; DestDir: {sys}; Flags:  regserver restartreplace noregerror sharedfile;
  9. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\msmapi32.ocx; DestDir: {sys}; Flags:  regserver restartreplace noregerror sharedfile;
  10. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\exg2antt.dll; DestDir: {sys}; Flags:  regserver restartreplace allowunsafefiles ;
  11. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\exOrgChart.dll; DestDir: {sys}; Flags:  regserver restartreplace allowunsafefiles ;
  12. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\exprint.dll; DestDir: {sys}; Flags:  regserver restartreplace allowunsafefiles ;
  13. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\exinbox.dll; DestDir: {sys}; Flags:  regserver restartreplace allowunsafefiles ;
  14. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\ksdhtmledlib.ocx; DestDir: {app}\Controls; Flags:  regserver restartreplace noregerror ;
  15. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\ChilkatXml.dll; DestDir: {sys}; Flags:  regserver restartreplace;
  16. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\ChilkatMHT.dll; DestDir: {sys}; Flags:  regserver restartreplace;
  17. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\HtmlToXml.dll; DestDir: {sys}; Flags:  regserver restartreplace;
  18. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.commandbars.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  19. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.dockingpane.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  20. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.skinframework.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  21. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.Controls.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  22. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.calendar.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  23. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.taskpanel.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
  24. Source: c:\my documents\neo\sql-notes\CurrentPortableRel\Controls\codejock.SyntaxEdit.Unicode.v13.2.1.ocx; DestDir: {sys}; Flags:  regserver restartreplace;
Note: Items in italic (1-5) may not be required, since they are not "registered" in the Portable version
 
(source: IQ Inno installer script)
 

Pierre_Admin

2010/08/25 23:59

In reply to by vortsg

What version of Wine are you using ?
 

Pierre-
 
Does IQ use embedded IE for rendering HTML or do you use another method for displaying web / rich content.  IQ on Linux seems to show many errors related to html incompatibilities.  I have been reading that sometimes applications have IE as a dependency (and all that IE brings).  IE is not installed in WINE by default.
 
Thanks.
 
vortsg

Armando

2010/08/25 15:26

In reply to by vortsg

[quote=vortsg]
Pierre-
 
Does IQ use embedded IE for rendering HTML or do you use another method for displaying web / rich content.  IQ on Linux seems to show many errors related to html incompatibilities.  I have been reading that sometimes applications have IE as a dependency (and all that IE brings).  IE is not installed in WINE by default.
 
Thanks.
 
vortsg
[/quote]
 
I'm pretty sure (99%) IQ uses IE of rendering HTML. In one of the past threads, Pierre suggested that the HTML component might be changed but this hasn't been scheduled yet.

jan_rifkinson

2010/08/25 16:42

In reply to by Armando

[quote=Armando] [snip]

I'm pretty sure (99%) IQ uses IE of rendering HTML. In one of the past threads, Pierre suggested that the HTML component might be changed but this hasn't been scheduled yet.
[/quote]
I think that's correct Armando

Pierre_Admin

2010/08/25 17:12

In reply to by vortsg

IQ uses IE for editing and for displaying content, using 2 separate controls. It is the editing one, which has been discussed recently, replacing it with one, not based on IE
 

vortsg

2010/08/25 17:45

In reply to by Pierre_Admin

Thanks for the response.
 
Does it matter what version of IE is used.  Apparently, IE7 and IE8 are a little harder to get running on Wine then IE6.
 
I am heading back to the test lab (i.e. basement).  I have not tried to get an application running on wine before, other than those that seemed to install easily.  I am spending a fair amount of time up front reading up on Wine and how it works to better be able to troubleshoot errors.  I will keep you updated on my progress - at least I hope I make progress.
 
vortsg

Pierre_Admin

2010/08/25 18:36

In reply to by vortsg

IE 6 is OK.
 
Lots of MS apps use IE as editor, including Outlook Express, FP, perhaps Outlook. You can see if those run fine
 
Also, you may want to check Winetricks, which installs many files required to run Windows apps:
 
 
Good luck !
 
 

Armando

2010/08/25 19:49

In reply to by Pierre_Admin

ooooh... Winetricks seems pretty nice !

vortsg

2010/08/25 22:35

In reply to by Pierre_Admin

Good news on the IE6 question.
 
Yes, I am using winetricks and as Armando pointed out, it is pretty nice.  I had attempted to install IE7 with winetricks and it threw all kinds of errors.  I just completed the IE6 install and it seemed to completed much better.
 
Up to this point I have not been able to get IQ to load up - Until about 15 minutes ago!  What a breakthrough.  There are still problems, but now I launch IQ, I get the splash screen and then the application itself.  I attempted to create a new database but nothing happens.  It creates the file on disk but I do not get a grid showing or anything.  I used the option to create a database with sample data.  I am now getting errrors such as- ole:ITypeInfo_fnInvoke.  Searching Google it appears these are related to MS OLE database engine (or something like that - still tracking it down)
 
Anyway, using winetricks I installed the following items in the order listed below to get to this point.
 
comctl32.ocx (to get the common controls OCXs)
vcrun6sp6 (for MFC42.dll and MFC42u.dll)
wsh56vb (to get vbscript.dll)
msdac28 (to get msdart.dll and msadox.dll)
IE6
 
I determined that all those were necessary by looking at error messages and then tracking down how to provide the missing items.
 
Well, at least I can see a screen now.
 
vortsg

Pierre_Admin

2010/08/25 22:45

In reply to by vortsg

Great !!!
 
In Winetricks, I saw an entry for Jet40, which is the database engine used by IQ.
 
Keeping all fingers crossed...
 

vortsg

2010/08/25 23:00

In reply to by Pierre_Admin

I am going to try the Jet40 install from winetricks.  I am not sure how much it will help since it appears that many of the data access components are already in place.  If not, I can always back it out. 
 
I am also getting some richedit errors.  I wonder if these are related to the MS richedit control.  Winetricks has versions to download for 2.0, 3.0, and 3.2.
 
In my last email I failed to mention that I also installed "cabextract".  This is a Linux utility to extract CAB files.  Some of the downloads from winetricks and others need it.
 
Lastly, a screenshot of IQ kinda running on Linux.
 
 
vortsg

Pierre_Admin

2010/08/25 23:11

In reply to by vortsg

Wow ! We're nearly there !!!
 
Strange, the RTF error message, as I'm not using it... Perhaps some other components is internally using it...
 

vortsg

2010/08/25 23:32

In reply to by Pierre_Admin

Here are the messages I am getting.  It is kind of an art trying to decipher them sometimes.

[steveg@grasshopper InfoQube Information Manager]$ wine InfoQube.exe
err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered
err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1
fixme:storage:create_storagefile Storage share mode not implemented.
err:ntlm:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path.
err:ntlm:SECUR32_initNTLMSP Usually, you can find it in the winbind package of your distribution.
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:keyboard:RegisterHotKey (0x10078,14395,0x00000008,4E): stub

 
I also solved the IType_issues by setting a DLL override on the oleaut32.dll
 
vortsg
 

vortsg

2010/08/26 17:53

In reply to by Pierre_Admin

More great progress.  I installed the JET40 and made some other tweaks and it seems like things are happening. 
 
vortsg

The following references are also used:
 
Reference=*\G{0E59F1D2-1FBE-11D0-8FF2-00A0D10038BC}#1.0#0#..\..\..\..\WINDOWS\system32\msscript.ocx#Microsoft Script Control 1.0
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\WINDOWS\system32\stdole2.tlb#OLE Automation
Reference=*\G{2A75196C-D9EB-4129-B803-931327F72D5C}#2.8#0#..\..\..\..\Program Files\Common Files\system\ado\msado15.dll#Microsoft ActiveX Data Objects 2.8 Library
Reference=*\G{2206CEB0-19C1-11D1-89E0-00C04FD7A829}#1.0#0#..\..\..\..\Program Files\Common Files\system\ole db\oledb32.dll#Microsoft OLE DB Service Component 1.0 Type Library
Reference=*\G{00000600-0000-0010-8000-00AA006D2EA4}#2.8#0#..\..\..\..\Program Files\Common Files\system\ado\msadox.dll#Microsoft ADO Ext. 2.8 for DDL and Security
Reference=*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#..\..\..\..\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll#Microsoft DAO 3.6 Object Library
Reference=*\G{3F4DACA7-160D-11D2-A8E9-00104B365C9F}#5.5#0#..\..\..\..\WINDOWS\System32\vbscript.dll\3#Microsoft VBScript Regular Expressions 5.5
Reference=*\G{21D6D480-A88B-11D0-83DD-00AA003CCABD}#1.0#0#..\..\..\..\WINDOWS\System32\tapi3.dll#Microsoft TAPI 3.0 Type Library
Reference=*\G{E9305C4F-4DDF-428A-96BE-77C31CB1D14E}#1.0#0#..\..\..\..\Program Files\Office SQL-Notes\exinbox.dll#ExInbox 1.0 Control Library
Reference=*\G{3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}#4.0#0#..\..\..\..\WINDOWS\system32\MSHTML.TLB#Microsoft HTML Object Library
Reference=*\G{CD000000-8B95-11D1-82DB-00C04FB1625D}#1.0#0#..\..\..\..\Program Files\Common Files\Microsoft Shared\CDO\CDOEX.DLL#Microsoft CDO For Exchange 2000 Library
Reference=*\G{101F9C56-A0F3-455C-ABBB-191168ABCF94}#1.0#0#..\..\..\..\Program Files\Chilkat Software Inc\Chilkat XML ActiveX\ChilkatXml.dll#Chilkat XML
Reference=*\G{E16E1B4D-346E-436C-B067-8ACA0921EFD0}#1.0#0#..\..\..\..\Program Files\Chilkat Software Inc\Chilkat MHT ActiveX\ChilkatMHT.dll#Chilkat MHT
Reference=*\G{71A28C5D-45D9-49CF-BE0B-0B0002ED9F9E}#1.0#0#..\..\..\..\Program Files\Chilkat Software Inc\Chilkat HtmlToXml ActiveX\HtmlToXml.dll#Chilkat HtmlToXml
Reference=*\G{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}#1.0#0#..\..\..\..\WINDOWS\System32\wshom.ocx#Windows Script Host Object Model
Reference=*\G{00062FFF-0000-0000-C000-000000000046}#9.1#0#..\..\..\..\PROGRA~1\MICROS~2\Office10\msoutl.olb#Microsoft Outlook 10.0 Object Library
 
You may want to try the latestbuild, as I've removed the reference to MS Outlook (using late binding instead)
 

vortsg

2010/08/26 17:58

In reply to by Pierre_Admin

The JET40 install seemed to help quite a bit, though I don't think it fixed any of the error messages.  Strange.
 
But, IQ is running and I have tried the basic things like adding items, creating new grids, etc and that seems to work.  I am unable to exit if I add information to the system.  It appears to save it because when I go back in the new data is there.  Basically, I have to abort the session to exit the application.  Also, while the application is running a whole new set of errors have shown up based on various actions being performed.  So, there is still more work to do.
 
It is progress and I seem to be closer all the time.  I will write up what I have done to this point and post later tonight or tomorrow.
 
 
vortsg

Pierre_Admin

2010/08/26 18:03

In reply to by vortsg

Wonderful ! Thanks again !!!
 

Armando

2010/08/26 19:08

In reply to by vortsg

OMG vortsg ! I can't believe I'm seeing IQ running in Linux.
 
This is really great !!!
 
And do you guys realise that this also means that IQ could (probably) also work on Macs with Wine installed ??

Pierre_Admin

2010/08/27 13:14

In reply to by vortsg

Hi Vortsg,
 
Now that most of the key missing pieces have been installed, you may want to try the portable version, to see if it behaves the same way. The idea, is that, once we have the list of all missing libraries / dll, etc, a Linux installation and a Linux portable package could be generated.
 
It would be über cool to have a universal portable package (well not quite universal, since Wine needs to be installed, but still)
 

vortsg

2010/08/27 23:58

In reply to by Pierre_Admin

I will give the portable version a try.  I have been working mostly with the installed version.
 
I am still having issues with a number of DLLs.  In particular:
  • msado15.dll
  • msjetoledb40.dll
  • msscript.ocx
  • rsaenh.dll
  • exg2antt.dll
The first two bother me because they deal with database access  I have made adjustment to try to work around the issues without many major breakthroughs, but a few minor ones (solved the richedit error) .  I have been reading up on wine development and other topics to be better equipped to troubleshoot errors.  .
 
I will see if the portable version helps. I too believe that having a universal portable package would be really nice.  One of the drawbacks of using multiple OSes is that sometimes you can't have the same piece of software run on all of them.  With as much as I like about IQ, it is one that I would really like to use on Windows and Linux.  I think IQ is amazing!  Anyway, if you are interested I can attach a list of every dll/ocx that IQ attempts to use (I am learning more about wine and its debug logging then I ever thought I would need to know )
 
There are still some problems running IQ.  The most notable are:
  1. If I add or edit any information IQ does not exit properly (actually it won't shut down, I have to kill the process.  It shuts down OK if I do not make any modifications)
  2. When pressing enter to add a new item, it does not go into edit mode automatically like the Windows environment
  3. On the screen I can add items, but when I exit (via killing the process) and then launch again the item saved, but not in the proper order (possibly because the system did not complete the entire commit process)
  4. A few other quirks, but I am concentrating on being able to add items and have them save properly.
Still pluggin' away.
 
vortsg

vortsg

2010/08/29 22:04

In reply to by Pierre_Admin

I have tried the portable version with the same issues as the installed version.  Further research seems to indicate that the following three DLLs are the biggest offenders.  I have tried a number of work-arounds but nothing seems to work.  IQ is still not working properly on Linux.
 
The problem DLLs are:
  1. msado15.dll
  2. oledb32.dll
  3. msadrh15.dll
I am continuing the testing and hope to find a solution some way or another.
 
vortsg

Armando

2010/08/30 21:43

In reply to by vortsg

Hi vorts,
 
I'm anxiously following your progress !
Great work
 
What kind of problem are you having with these DLLs ?
Are they just missing (not in the right place ? Not registered properly ?) or are they just "not working well" ?

vortsg

2010/08/31 23:21

In reply to by Armando

Armando-
 
I have been spending a fair amount of time checking the location of the DLLs, OCXs, and other key files.  I think that they are correctly setup now.  The problems now seem to be more related to them not working well, as you put it.  I have also been experimenting with overriding files.  If you are not familiar with Wine I will give a brief description.  Wine essentially an attempt to recreate windows and all its key files.  When software is installed you can configure wine to use the builtin DLL/OCX (i.e. the one the wine developers created) or you can have it set to use the native one (which is installed with the application).   This is called creating an override.  Sometimes you set a DLL to builtin and other times native.  A number of overrides have resulted in some great progress.
 
But, I seem to be having to dig deeper to see exactly what the offending DLLs are doing that is not working properly.  Even once I find out through using wine debug logs, I am not sure what options are available to correct the problem.  I can play with the overrides is one approach.  Sometimes I try installing different versions of certain files (e.g MDAC has version 2.5, 2.7, and 2.8 available).
 
I am currently out of town on a business trip and do not have my Linux box with me.  I can set it up on VirtualBox, but did not take time to do that before I left.  So, I am not able to do any troubleshooting until Friday when I return.  When I get back I will post the detailed debug file in case you are interested in look through it..
 
vortsg

Armando

2010/09/01 20:02

In reply to by vortsg

Thanks for the detailed feedback!
I used Wine, but a long time ago (1998-99 I think and a bit in 2005-06). It wasn't working as well as it does today.
Anyhow, yes, I remember overriding and all that.
Have a good productive business trip!

For anyone interested, I have created a new page in the "Test Book" area regarding the setup of InfoQube on Linux via WINE.  This is a work in progress.  After more progress has been made it can be moved to the user manual and into the appropriate area.
 
Help and suggestions are welcome.
 
vortsg

ThomR

2011/08/15 15:08

In reply to by vortsg

 It seems like vortsg made a lot of progress on this issue last year at this time. Was IQ ever successfully ported?; it has become my sole remaining anchor to Windows.