Arbitrary DOS device name
danman at danman.eu
danman at danman.eu
Tue Feb 1 13:25:33 CST 2022
On 2022-02-01 18:47, Zebediah Figura wrote:
> On 2/1/22 11:39, danman at danman.eu wrote:
>> On 2022-02-01 18:14, Zebediah Figura (she/her) wrote:
>>>
>>> That's because "wine" is symlinked to 32-bit wine, which redirects
>>> system32 to syswow64. "wine64" will work.
>>
>> The result is the same with wine64
>>
>> $ wine64 ~/.wine/drive_c/windows/system32/dpinst64.exe
>> 0009:err:module:__wine_process_init
>> L"C:\\windows\\system32\\dpinst64.exe" not found
>>
>>
>>>
>>> Note though that dpinst needs to be called with specific arguments,
>>> which is part of the reason I asked to rerun the installer.
>>
>> I rerun the installer but nothing has changed.
>>
>>>
>>> One other thing I forgot to mention—you'll need to override
>>> dpinst64.exe as "builtin,native", since the default for the main EXE
>>> is native,builtin when loaded with an exact path.
>>
>> How do I do this?
>
> Generally, open winecfg, and in the "Libraries" tab type in
> "dpinst64.exe", then set the override to "builtin,native".
>
> You can also use the environment variable
> "WINEDLLOVERRIDES=dpinst64.exe=b,n".
>
>> And more generally, how do I correctly install the
>> compiled binary?
>> I just copied the exe to system32 as you can see above but I cannot
>> run
>> make install because I am using wine from distribution install (apt
>> get).
>
> Okay, my guess is that you're trying to use the system wine executable
> instead of wine from the build tree, and that wine is trying to look
> for builtin dpinst64.exe in /usr/lib/ as a result.
>
> Note that to manually ensure things are installed into a prefix, you
> can usually use "wine wineboot -u".
I checked with strace:
openat(AT_FDCWD,
"/usr/lib/wine/../x86_64-linux-gnu/wine/dpinst64.exe.so", O_RDONLY) = -1
ENOENT (No such file or directory)
write(2, "0009:err:module:__wine_process_i"...,
850009:err:module:__wine_process_init
L"C:\\windows\\system32\\dpinst64.exe" not found
) = 85
copied the lib:
sudo cp programs/dpinst64/dpinst64.exe.so
/usr/lib/x86_64-linux-gnu/wine/
now I am getting:
$ wine64 ~/.wine/drive_c/windows/system32/dpinst64.exe
002b:err:module:__wine_process_init
L"C:\\windows\\system32\\dpinst64.exe" not supported on this system
The same with setup.exe:
$ WINEDLLOVERRIDES=dpinst64.exe=b,n WINEDEBUG=dpinst+trace wine64
Setup.EXE
0032:fixme:shell:SHChangeNotify ignoring unsupported flags: 2001
0040:err:module:__wine_process_init L"C:\\Program Files
(x86)\\Hantek6000\\Bin\\dpinst64.exe" not supported on this system
0042:err:module:__wine_process_init L"C:\\Program Files
(x86)\\Hantek6000\\Bin\\dpinst64.exe" not supported on this system
More information about the wine-devel
mailing list