WineHQ
Wine Forums

Board index » WineHQ » Wine Help » Linux




 Page 1 of 1 [ 18 posts ] 



 
Author Message
 Post subject: stdole.dll IPicture
 Post Posted: Mon May 14, 2018 6:48 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
I'm am trying to help another user (see viewtopic.php?f=8&t=30613) with an issue getting a Visual Basic application working in wine. I have installed the program along with a couple of things it needs: jet40, mdac28,vbrun6. The program has a problem using the IPicture interface. I've been looking all over the net and a couple of posts on the topic seem to indicate they are in stdole.dll. I haven't found a place to download it. Microsoft says they are in the MSOffice installation and is not redistributable.

So, is stdole.dll included in wine? Is it compatible with WinXP? Other posts seem to indicate there was a change going to Windows 7 that somehow broke this for WinXP apps in Windows 7.

Any help on stdole.sll and anything needed to get the IPicture and IPicturedisp interfaces into wine would be greatly appreciated!

Thanks!


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Mon May 14, 2018 11:38 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Well, first off is there some way to EDIT a previous post you made? I wish I could do that now, Since I can't figure it out I'll add here:

Tried copying the stdole.dll file from the c:/Program Files/Common Files/Microsoft Shared/MSEnv/PublicAssenblies to the windows/system32 folder for the prefix. Still no go. Everything I have found indicateds that the ipicture interface is part of stdole,dll.

EDIT 5/14/18 11:52 p.m/ :

When I look at the Microsoft for IPicture they don't show the information in the log file:

0009:fixme:olepicture:OLEPictureImpl_FindConnectionPoint no connection point for {33ad4f92-6699-11cf-b70c-00aa0060d393}

I noticed it is referring to OLEPictureImpl - not on the IPicture page - is this perhaps something wine has done to provide some of the functions that would be in stdole.dll?:


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Tue May 15, 2018 2:30 pm 
Offline
Level 5
Level 5
User avatar

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 386
Yes, you can edit a post (there is an edit button) - but only for a few hours after posting. This is to prevent abuse AFAIK.

AFAIK stdole is an interopt assembly.
What you're looking for is oleaut32.dll - that's where OLEPictureImpl_FindConnectionPoint is used.
You need to
1) copy it into WINEPREFIX system32
2) add a dll override

Side note: IPicture is a COM interface. The interface then has a default implementation, in wine that's OLEPictureImpl.

I tried it, and it works after "winetricks -q jet40" and what I said... At least until it then crashes.

You might want to open a bugreport for that oleaut32 issue, and the following crash.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Tue May 15, 2018 3:24 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
DarkShadow44 wrote:
Yes, you can edit a post (there is an edit button) - but only for a few hours after posting. This is to prevent abuse AFAIK.

AFAIK stdole is an interopt assembly.
What you're looking for is oleaut32.dll - that's where OLEPictureImpl_FindConnectionPoint is used.
You need to
1) copy it into WINEPREFIX system32
2) add a dll override

Side note: IPicture is a COM interface. The interface then has a default implementation, in wine that's OLEPictureImpl.

I tried it, and it works after "winetricks -q jet40" and what I said... At least until it then crashes.

You might want to open a bugreport for that oleaut32 issue, and the following crash.


I'll be giving that a try shortly. I did find a download for dcom98 which includes all of that and recreated the wine prefix as windows 98, however the install of dcom98 fails saying it's only for Windows 98 and that I need the NT version. So, I need to find a download for an older version of aoleut32.dll (I did try what you suggest earlier with the copy of oleaut32.dll from Microsoft but it didn't help the problem).

Thanks!


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Tue May 15, 2018 3:29 pm 
Offline
Level 5
Level 5
User avatar

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 386
fargodwe wrote:
I did find a download for dcom98 which includes all of that and recreated the wine prefix as windows 98, however the install of dcom98 fails saying it's only for Windows 98 and that I need the NT version.

Why dcom98? This shouldn't be needed.

fargodwe wrote:
So, I need to find a download for an older version of aoleut32.dll (I did try what you suggest earlier with the copy of oleaut32.dll from Microsoft but it didn't help the problem).

Did you make sure to add the dll override? I used the version from XP and it worked just fine. Also did it already with the Win7 version. And what exactly does "not work" mean?


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Tue May 15, 2018 4:27 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
I removed the old wine prefix, then recreated a 32-bit wine prefix - the default was Windows 7. I downloaded oleaut32.dll from http://www.mdgx.com/add.htm#ADD - perhaps I got the wrong version? I did the override so it shows as native,builtin.

I am working on this for another user who is having problems getting something called "IFs" - something about international futures, whatever that means. It was written in VB6. It also needed jet40 and vbrun6.

When the program is executed it eventually aborts with the following being in the tail of the log:
Code:
0009:fixme:olepicture:OleLoadPictureEx (0x136c824,774,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32eb10), partially implemented.
0009:fixme:olepicture:OleLoadPictureEx (0x1384204,774,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32e28c), partially implemented.
0009:fixme:olepicture:OleLoadPictureEx (0x1384204,140233,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32e25c), partially implemented.
0009:fixme:olepicture:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette.
0009:fixme:olepicture:OLEPictureImpl_SaveAsFile (0x297b068)->(0x2b92548, 0, (nil)), hacked stub.
0009:fixme:olepicture:OLEPictureImpl_FindConnectionPoint no connection point for {33ad4ed2-6699-11cf-b70c-00aa0060d393}
0009:fixme:olepicture:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
0009:fixme:olepicture:OLEPictureImpl_FindConnectionPoint no connection point for {33ad4f92-6699-11cf-b70c-00aa0060d393}


I've been searching all over the net. Some suggest it needs to be Windows XP and to install dom98 - this doesn't work in wine even with a 32-prefix defined as Windows XP - it says I am running Windows 98 but that the dcom98.exe file needs NT.

I've tried replacing and overriding ole.dll, stdole.dll, and several others with no change.

Any help would be greatly appreciated. I guess there is a possibility that there is a bug in some wine dll?

I was told it works fine in Windows XP, but not in Windows 7 on up with XP compatibility mode for the app.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Wed May 16, 2018 1:04 am 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
So how would one go about filing a bug report on oleaut32.dll in wine?


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Wed May 16, 2018 2:10 pm 
Offline
Level 5
Level 5
User avatar

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 386
fargodwe wrote:
So how would one go about filing a bug report on oleaut32.dll in wine?

See https://wiki.winehq.org/Bugs#How_to_report. You go on bugs.winehq.org and enter all the necessary information.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Wed May 16, 2018 4:46 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Thank you! I did get an email back from the developer and he said they have never had any success with IFs in wine and that the only way they've gotten it to run is in a full virtual machine. I have also seen other references to this same problem in Linux for certain games and other apps. This would indicate to me that the is SOMETHING in wine that isn't quite right, but obviously I would have no clue. The developer did ask that if this gets to the point of running in wine they would appreciate knowing the steps that were taken.

I'll try to file the bug report and thank you so much for your help!


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Wed May 16, 2018 10:07 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Found something that may help. The definition of IPicture set hpal at https://msdn.microsoft.com/en-us/librar ... 69(v=vs.85).aspx.

This goes along with the error I think is the root of the problem: the ipicture set hpal fails as shown in the log. This returns a palette of zero which is associated with the picture. I assume that the connection fails because no palette was assigned. According to the log the ipicture set hapl is " unimplemented for type 3". This would indicate to me that wine is missing the code to handle the ipicture set hpal with a type of 3. Where is this code?

If my research is correct, this is what is not implemented:
PICTYPE_ICON 3
The picture type is an icon. When this value occurs in the PICTDESC structure, it means that the icon field of that structure contains the relevant initialization parameters.

When the ipciture set hpal fails for this type (icon) then the return value is null. No wonder the connect fails - null values.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Thu May 17, 2018 2:41 am 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
I kust tried thr oleaut32.dll file from thr Window 98SE disk. I ran winecfg and added it to the libraries with native,builtin and get the same error. So, I'm wondering if perhaps the override is not working for oleaut32.dll and hence apparently still using the wine built-in which apparently doesn't have all of the code. Is there any way to find this out?


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Thu May 17, 2018 2:42 pm 
Offline
Level 5
Level 5
User avatar

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 386
Did you add it properly? No misspellings and copied it into system32/syswow64 (depending on your prefix type)? Try setting it to native only, then it errors when it can't load the native dll.
Also, didn't try Win98 version, only the XP DLL.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Fri May 18, 2018 3:20 am 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Well, I went back to a 32-bit Windows XP prefix. As it turns out, the program only needs jet40 but not vbrun6. I tried installing the newest oleaut32.dll from dll-files and then found out I was supposed to register it as well. Did that, added it to the libraries as native/builtin. Tried the installer which bombed out on all kinds of messages and then a stack overflow. I then went back to the builtin and install ran ok. I then copy the newest version of the dll back into windows/system32 and ran regsvr32 on it. Tried running the application again and I *think* it may have gotten further as it now gives a message about IFsGUIprj.ocx or one of it's dependencies not being found or not registerd . I've searched the entire prefix for it and it doesn't exist. Searched the net - nothing. So, I dropped another email to the developer.

I have to thank you and the people at Bugzilla for the help on this. They are trying really hard to work with me there as well. I want to continue posting here in case someone else has this problem. In my searches of the forum and the net I have seen the original error mentioned many times for different applications and games. I'm curious if installing the newest oleaut32 (or 64 if there is such a thing) and registering it would help them.

Thanks again!


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Fri May 18, 2018 4:23 am 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Dang!! Too late to edit previous post? Oh well. Turns out the IFsGUIprj.ocx was a red herring. The readme for the application had hidden down amongst it 900+ pages was a small blurb that said if you got that error to remove the application and reinstall it. So I did that - guess what? Back to the original error again. Darn.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Fri May 18, 2018 12:32 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
Questions:

- where is OLEPicture defined in wine?
- Is it separate from oleaut32.dll

I'm just wondering since the error says OLEPicturexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. When i've searched the net the procedures in oleaut32.dll are defined as IPicture, not OLEPicture.


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Mon May 28, 2018 4:21 am 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
This turned out to be a red herring. I had filed a bug in bugzilla and one of the people there did an amazing job of tracking down what was really wrong.

Thank you for your help here!


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Mon May 28, 2018 2:09 pm 
Offline
Level 5
Level 5
User avatar

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 386
fargodwe wrote:
Thank you for your help here!

You're welcome! Btw, that was me in the bugreport. :wink:


Top 
 Post subject: Re: stdole.dll IPicture
 Post Posted: Mon May 28, 2018 2:37 pm 
Offline
Level 3
Level 3

Joined: Mon Oct 02, 2017 7:08 am
Posts: 88
OH!! Well THANKS again!!!!


Top 
Display posts from previous:  Sort by  
 
 Page 1 of 1 [ 18 posts ] 




Board index » WineHQ » Wine Help » Linux


Who is online

Users browsing this forum: No registered users and 15 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: