I am trying to run a program written in VB6 in Ubuntu 12.04 with Wine 1.6. I have compatibility set to Windows 7, but I also tried XP. When I try to run the program from the terminal I get:
fixme:scrrun:filesys_QueryInterface Unsupported interface {7fd52380-4e07-101b-ae2d-08002b2ec713}
fixme:scrrun:filesys_QueryInterface Unsupported interface {37d84f60-42cb-11ce-8135-00aa004bb851}
fixme:olepicture:OleLoadPictureEx (0xc644ec,326,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32f498), partially implemented.
fixme:olepicture:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette.
err:ole:CoGetClassObject class {00000514-0000-0010-8000-00aa006d2ea4} not registered
err:ole:create_server class {00000514-0000-0010-8000-00aa006d2ea4} not registered
err:ole:CoGetClassObject no class object {00000514-0000-0010-8000-00aa006d2ea4} could be created for context 0x5
fixme:olepicture:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
Any suggestions or ideas on how to get this working???? Until today I had never messed with Linux or Wine so I am pretty lost at this point!!!!
KPierson these big numbers 00000514-0000-0010-8000-00aa006d2ea4 mean important things. This one means winetricks mdac28 also means if you are on a 64 bit system you need a 32 bit wineprefix.
fixme:scrrun:filesys_QueryInterface Unsupported interface {7fd52380-4e07-101b-ae2d-08002b2ec713}
fixme:scrrun:filesys_QueryInterface Unsupported interface {37d84f60-42cb-11ce-8135-00aa004bb851}
fixme:olepicture:OleLoadPictureEx (0xc644ec,326,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32f498), partially implemented.
fixme:olepicture:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette.
err:ole:CoGetClassObject class {00000514-0000-0010-8000-00aa006d2ea4} not registered
err:ole:create_server class {00000514-0000-0010-8000-00aa006d2ea4} not registered
err:ole:CoGetClassObject no class object {00000514-0000-0010-8000-00aa006d2ea4} could be created for context 0x5
fixme:olepicture:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
I have created a 32 bit prefix and reinstalled the program and this is what I am getting now. The program I am trying to install uses an Access database - will that be an issue? I have installed winetricks vb6run and I downloaded and installed the vb6 library app. Any other advice?
mdac28 is what the application uses to handle an Access database. So yes access database is being a issue because you did not install it when instructed.
"winetricks mdac28" I guess you did not read this as a command that must be run.
Yet even with mdac28 installed I cannot say that will be the last part the application will require.
After I made that last post I installed winetricks mdac28 in the correct prefix and that did prevent the program from crashing but then I started getting error messages that the database was inaccessible. I installed winetricks jet40 and that fixed that issue.
I am starting to get the hang of the troubleshooting aspect of wine but every time I fix something I just find more wrong! My current issues are trying to get .swf videos to play in Windows Media Player (I have wmp10 installed and working) and detecting internet access. The program uses a Windows API to determine if a connection is present. No error messages are given in the terminal, just in the program. I am working on trying to figure out what API is used to see if there is a way to fix that issue.
I do have the source code available to me - is there an easier way to go about doing what I am doing? I tried to look for some VB6 -> Linux compilers but couldn't find anything that looked too promising. Thank you for your help so far! I am finding that although there is seems to be a pretty big learning curve more and more is making sense to me making it easier to get things done!
KPierson the reality here is Vb6 is officially dead. Next problem is lot of interfaces Vb6 uses are also officially deprecated or end of life. mdac28 for example end of live 2010.
So it either upgrade to VB.Net and pray mono on Linux gets along with it Or recode it into python or equal. There will be no vb6 compilers near decent any time soon.
This is the problem about choosing a non cross platform language in the first place sooner or latter you have to pay for it.
KPierson basically wine can buy you some time to prevent having to rewrite the vb6 application straight now. The big important but is even that wine will run it the plan has to be recode it.
winetricks shockwave I would suspect is swf problem. Cannot be 100 percent sure. Might be a good idea to backup wineprefix first in this case. Non require parts can result in breakages.
Detecting internet access failing that can take you into quite horible issues. Wine does not implement a network stack so basically passes a stack load of things over to the OS. Result is linux restrictions come into play.
I appreciate your help and feedback. I think ultimately this project is not worth pursing. The goal was to save Windows licensing costs by switching to Linux for some low volume digital signage projects I am a part of. However, even if I got it to work in Linux the setup time and risk of bugs simply aren't worth the savings of purchasing a license to run the program in the environment it was intended to be used in. Because it is a fairly extensive software program and as I mentioned it is low volume (less then 50 a year) we can't justify rewriting the program at this point.
This was the first time I have ever messed with Linux and there are some aspects of it I really like. I will most likely use Ubuntu on my next home PC.
KPierson it may turn out that you are wasting your time making the old vb6 application work at all. Instead resources focused in adding the missing features to one of the existing FOSS solutions might also be the way forwards.
KPierson FOSS software has a habit of having low volume odd ball software covered.
Raspberry PI can be used as the client devices to xibo or concerto. Yes sub 100 dollar hardware. In fact for a small number xibo server can be from the Raspberry Pi as well.
KPierson basically I was not expecting you to say digital signage. I don't use closed source for digital signage at all.
Unfortunately it isn't that easy! We make interactive displays and the program has to communicate with the triggering hardware we build in house. We typically run to separate screens per PC so we need a PC with a little more power and better graphics options then something as simple as a PI. Our current software builds SWF files internally from a remotely maintained product database that is updated by connecting to our secure server through managed credentials. Lastly, there are many, many options to control the way the system behaves (both in idle loop and when triggered) that would make going with an open source solution just as much trouble (if not more) then developing and maintaining our own software. Lastly, using a closed source solution allows us to charge more as there is no other way to get our software - this is extremely important on a low volume niche product. I do appreciate the suggestion but switching software isn't really an option.