|
Post by tenochtitlanuk on Oct 9, 2019 8:23:05 GMT -5
Yup, works for me too. I too had gone as far as seeing in ghex editor that other dlls were needed- had never tried copying them from a MS machine 'cos I guessed I'd keep finding new ones needed.
Very helpful reply, metro- thanks!
|
|
|
Post by Rod on Oct 9, 2019 12:58:14 GMT -5
I am a bit confused, the .dll files are likely exactly the same. So the problem has been referencing them? Does UAC Virtualisation have an impact. Keeping everything out of Program Files(x86) avoids Virtualisation. So too the system files directory. When you save something to Program Files(x86) it does not really get filed their, Windows adds the user profile and saves it in a virtual folder. So when you try to access it with the plain path it isn't there, it is in the virtual folder.
I don't want to add confusion but a dll is a dll.
Can someone try with plain vanilla c:\basic\my project as the repository for both program and resource .dlls
|
|
|
Post by tsh73 on Oct 9, 2019 13:51:32 GMT -5
Rod, I guess much of confusion goes from it is actually Wine, in Linux, not native Windows. So I've read system DLL might be where but actually be empty (and used some .SO file instead) (or so I understand)
|
|
|
Post by gidiom2 on Oct 9, 2019 14:19:00 GMT -5
I am a bit confused, the .dll files are likely exactly the same. So the problem has been referencing them? Does UAC Virtualisation have an impact. Keeping everything out of Program Files(x86) avoids Virtualisation. So too the system files directory. When you save something to Program Files(x86) it does not really get filed their, Windows adds the user profile and saves it in a virtual folder. So when you try to access it with the plain path it isn't there, it is in the virtual folder. I don't want to add confusion but a dll is a dll. Can someone try with plain vanilla c:\basic\my project as the repository for both program and resource .dlls My test program is in both paths .wine/dosdevices/c:/Program Files (x86)/Liberty BASIC v4.5.1/LB451_programs/ and .wine/dosdevices/c:/Basic/LB451/ The dlls have to be in the same folder as the .bas file in both cases so as far as wine is concerned, either can be used for LB451. I think IIRC that windows programs installed via an installer *will* use the /users/AppData folder. I have copied a number of LB programs to c:/Program Files (x86)/Liberty BASIC v4.5.1/LB451_programs/ and all work ok. However its more logical to use c:basic/myProject. (I avoid using paths with spaces!) The dlls in system32 are not found as removing them from the program folder causes a 'module not found' error even though they are in system32.
Hope that is 'clear as mud!'
Edit: Just found this - Wine always runs with Windows administrator privileges; UAC is not implemented. - on the WineHQ website.
|
|
|
Post by metro on Oct 9, 2019 17:11:16 GMT -5
|
|
|
Post by gidiom2 on Oct 10, 2019 2:09:50 GMT -5
I think that tells us what we already knew, that extra dlls need to be copied into wines system32 directory. But the dlls are only found in LB when they are in the program folder (at least on my installation and there are many versions of wine). I have other programs needing copied dlls which are copied to and found in system32 only. That leads me to think its a LB problem not wine but I don't know enough to be sure. Carl may know but I guess that LB451 is now low priority. Thank you, status quo is sufficient for me for now.
|
|
|
Post by metro on Oct 10, 2019 2:22:25 GMT -5
yes, strange that because I use PlayOnLinux and out of curiosity I copied mfc42.dll to /home/laurie/PlayOnLinux's virtual drives/liberty/drive_c/windows/system32 msvcrt.dll existed in system32 already. I then deleted the two Dll's in the program Dir and my program still functioned. So the Dll's were found here /home/laurie/PlayOnLinux's virtual drives/liberty/drive_c/windows/system32
Whether there is a difference between the Dll's you originally had and the two I supplied or as you say your Wine build is different
anyway good to see there was a work around
|
|
|
Post by tenochtitlanuk on Oct 10, 2019 4:10:01 GMT -5
Just a thought. Internally the dll references MSVCRT but the actual file is lower-case named. Linux is case sensitive... is WINE??
|
|
|
Post by metro on Oct 10, 2019 5:25:34 GMT -5
Just a thought. Internally the dll references MSVCRT but the actual file is lower-case named. Linux is case sensitive... is WINE?? It would seem the Wine File System is not case-sensitive
|
|