Msiexec exe ошибка wine

Hi jkfloris, I have tried the steps that has been advised. Currently still running on Ubuntu 20.04LTS.
Following is the result;

Verifying Microsfot fonts

Code: Select all

sudo apt install ttf-mscorefonts-installer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ttf-mscorefonts-installer is already the newest version (3.7ubuntu6).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Verifying riched20 and msxml6

Code: Select all

WINEPREFIX=~/wine-office WINEARCH=win32 winetricks -q riched20 msxml6
Executing mkdir -p /home/brandon
Using winetricks 20210206-next - sha256sum: f543edcc89729647fb2226d70fe6efd0dc5ac61e237eaa207a0d461a61b2e229 with wine-6.0.1 and WINEARCH=win32
Executing w_do_call riched20
Executing mkdir -p /home/brandon
Executing load_riched20 
Executing cabextract -q -d /home/brandon/wine-office/dosdevices/c:/windows/temp -L -F i386/riched20.dl_ /home/brandon/.cache/winetricks/win2ksp4/W2KSP4_EN.EXE
Executing cabextract -q --directory=/home/brandon/wine-office/dosdevices/c:/windows/system32 /home/brandon/wine-office/dosdevices/c:/windows/temp/i386/riched20.dl_
Using native,builtin override for following DLLs: riched20
Executing wine regedit /S C:windowsTempoverride-dll.reg
0194:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0194:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
018c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
018c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
Executing w_do_call msls31
Executing mkdir -p /home/brandon
Executing load_msls31 
Executing cabextract -q --directory=/home/brandon/wine-office/dosdevices/c:/windows/temp /home/brandon/.cache/winetricks/msls31/InstMsiW.exe
Executing cp -f /home/brandon/wine-office/dosdevices/c:/windows/temp/msls31.dll /home/brandon/wine-office/dosdevices/c:/windows/system32
Executing w_do_call msxml6
Executing mkdir -p /home/brandon
Executing load_msxml6 
Executing cabextract -q --directory=/home/brandon/wine-office/dosdevices/c:/windows/temp /home/brandon/.cache/winetricks/msxml6/msxml6-KB973686-enu-amd64.exe
Executing cabextract -q --directory=/home/brandon/wine-office/dosdevices/c:/windows/temp /home/brandon/wine-office/dosdevices/c:/windows/temp/msxml6.msi
Executing cp -f /home/brandon/wine-office/dosdevices/c:/windows/temp/msxml6.dll.86F857F6_A743_463D_B2FE_98CB5F727E09 /home/brandon/wine-office/dosdevices/c:/windows/system32/msxml6.dll
Executing cp -f /home/brandon/wine-office/dosdevices/c:/windows/temp/msxml6r.dll.86F857F6_A743_463D_B2FE_98CB5F727E09 /home/brandon/wine-office/dosdevices/c:/windows/system32/msxml6r.dll
Using native,builtin override for following DLLs: msxml6
Executing wine regedit /S C:windowsTempoverride-dll.reg
0244:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0244:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
023c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
023c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
You opted in, so reporting 'msls31 riched20 msxml6 ' to the winetricks maintainer so he knows which winetricks verbs get used and which don't.  Use --optout to disable future reports.

Installation with following line

Code: Select all

WINEPREFIX=~/wine-office taskset -c 0 wine setup.exe &>installationlog

Error message encountered on msiexec.exe with the above line

Code: Select all

Unhandled exception: C++ exception(object = 0x014fdb40, type = 0x1004d798) in 32-bit code (0x7b00fd36).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b00fd36 ESP:014fd964 EBP:014fd9d8 EFLAGS:00000246(   - --  I  Z- -P- )
 EAX:014fd970 EBX:014fdb40 ECX:00000008 EDX:014fda08
 ESI:e06d7363 EDI:014fdc4c
Stack dump:
0x014fd964:  000000e4 014fda38 00000042 e06d7363
0x014fd974:  00000001 00000000 7b00fd36 00000003
0x014fd984:  19930520 014fdb40 1004d798 00000100
0x014fd994:  0000001b 00000000 014fda20 0000065b
0x014fd9a4:  014fda34 00000000 00000000 014fd9d0
0x014fd9b4:  10025981 014fda38 00000100 ffffffff
Backtrace:
=>0 0x7b00fd36 EntryPoint+0xffffffff() in kernelbase (0x014fd9d8)
  1 0x10025a4e in msi8db4.tmp (+0x25a4d) (0x014fda14)
  2 0x1003d7cb in msi8db4.tmp (+0x3d7ca) (0x014fdc78)
  3 0x1003b845 in msi8db4.tmp (+0x3b844) (0x014fe2ac)
  4 0x1003b8f9 in msi8db4.tmp (+0x3b8f8) (0x014fe340)
  5 0x100109b6 EntryPoint+0xffffffff() in msi8db4.tmp (0x014ff768)
  6 0x650af59c EntryPoint+0xffffffff() in msi (0x014ff778)
  7 0x650b257d EntryPoint+0xffffffff() in msi (0x014ffee8)
  8 0x00401383 EntryPoint+0xffffffff() in msiexec (0x014fff28)
  9 0x7b62e280 EntryPoint+0xffffffff() in kernel32 (0x014fff48)
  10 0x7bc5bb87 EntryPoint+0xffffffff() in ntdll (0x014fff5c)
  11 0x7bc5bde0 EntryPoint+0xffffffff() in ntdll (0x014fffec)
0x7b00fd36 EntryPoint+0xffffffff in kernelbase: subl	$4,%esp
Modules:
Module	Address			Debug info	Name (38 modules)
PE	  400000-  440000	Dwarf           msiexec
PE	  640000-  bc1000	Deferred        gdi32
PE	  bd0000-  fb7000	Deferred        oleaut32
PE	10000000-1005d000	Export          msi8db4.tmp
PE	61740000-61828000	Deferred        advapi32
PE	61940000-61b40000	Deferred        wininet
PE	62e00000-62e45000	Deferred        odbccp32
PE	62fc0000-631f2000	Deferred        rpcrt4
PE	63480000-6349c000	Deferred        version
PE	637c0000-63a73000	Deferred        urlmon
PE	63bc0000-63c02000	Deferred        shcore
PE	64a40000-64b5e000	Deferred        shlwapi
PE	65080000-656a2000	Dwarf           msi
PE	658c0000-65901000	Deferred        sxs
PE	66240000-6627e000	Deferred        bcrypt
PE	68500000-6864b000	Deferred        combase
PE	68700000-6878e000	Deferred        uxtheme
PE	6a400000-6a884000	Deferred        ole32
PE	6bc00000-6bca1000	Deferred        sechost
PE	6bcc0000-6be9c000	Deferred        setupapi
PE	6cc40000-6d0c2000	Deferred        comctl32
PE	6d580000-6d5e2000	Deferred        cabinet
PE	6db40000-6db72000	Deferred        imagehlp
PE	6e8c0000-6eb63000	Deferred        crypt32
PE	6ed00000-6f392000	Deferred        user32
PE	6f4c0000-6f571000	Deferred        wintrust
PE	6fa80000-6fcca000	Deferred        dbghelp
PE	70940000-70997000	Deferred        mpr
PE	70b40000-70df3000	Deferred        ucrtbase
PE	710c0000-710ee000	Deferred        mspatcha
PE	71200000-71248000	Deferred        imm32
PE	7b000000-7b30c000	Dwarf           kernelbase
PE	7b600000-7b928000	Dwarf           kernel32
PE	7bc00000-7bedf000	Dwarf           ntdll
PE	7d100000-7d123000	Deferred        msxml3
PE	7dad0000-7dad4000	Deferred        winex11
PE	7dd40000-7e617000	Deferred        shell32
PE	7e8f0000-7e8f4000	Deferred        ws2_32
Threads:
process  tid      prio (all id:s are in hex)
00000020 setup.exe
	00000024    0
	00000108    0
	00000164    0
	000002fc    0
	0000038c    0
00000038 services.exe
	0000003c    0
	00000040    0
	0000004c    0
	00000070    0
	00000088    0
	00000094    0
	000000b8    0
	000000e0    0
00000044 winedevice.exe
	00000048    0
	00000054    0
	00000058    0
	0000005c    0
00000060 plugplay.exe
	00000064    0
	00000074    0
	00000078    0
	0000007c    0
	0000009c    0
00000068 explorer.exe
	0000006c    0
	000000c4    0
	000000c8    0
00000080 winedevice.exe
	00000084    0
	0000008c    0
	00000090    0
	00000098    0
	000000a8    0
	000000ac    0
000000b0 svchost.exe
	000000b4    0
	000000bc    0
	000000c0    0
000000cc conhost.exe
	000000d0    0
000000d8 rpcss.exe
	000000dc    0
	000000e8    0
	000000ec    0
	000000f0    0
	000000f4    0
	000000f8    0
00000120 ose00000.exe
	00000124    0
	00000128    0
	0000013c    0
	00000144    0
	000002e4    0
	000002f0    0
000002ec (D) C:windowssystem32msiexec.exe
	000002f8    0
	00000388    0 <==
	0000039c    0
System information:
    Wine build: wine-6.0.1
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 5.11.0-38-generic

Not sure if this information meaningful or not

Code: Select all

WINEPREFIX=~/wine-office WINEARCH=win32 winecfg

wine: created the configuration directory '/home/brandon/wine-office'
0040:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0040:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0048:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0048:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0050:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0050:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0048:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0050:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0050:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:err:ole:start_rpcss Failed to open RpcSs service
0064:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0064:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0064:fixme:file:NtLockFile I/O completion on lock not implemented yet
0064:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0064:err:mscoree:LoadLibraryShim error reading registry key for installroot
0064:err:mscoree:LoadLibraryShim error reading registry key for installroot
0064:err:mscoree:LoadLibraryShim error reading registry key for installroot
0064:err:mscoree:LoadLibraryShim error reading registry key for installroot
006c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
006c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
006c:fixme:file:NtLockFile I/O completion on lock not implemented yet
006c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
006c:err:mscoree:LoadLibraryShim error reading registry key for installroot
006c:err:mscoree:LoadLibraryShim error reading registry key for installroot
006c:err:mscoree:LoadLibraryShim error reading registry key for installroot
006c:err:mscoree:LoadLibraryShim error reading registry key for installroot
0074:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0074:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
006c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
006c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0064:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0064:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
007c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
007c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
007c:fixme:file:NtLockFile I/O completion on lock not implemented yet
007c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
007c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
007c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0084:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x102b9460, context 0x2d4ee8, init_notify 0, handle 0x3ecfde0): stub
0040:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00d0:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
00d0:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
010c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
010c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
wine: configuration in L"/home/brandon/wine-office" has been updated.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
012c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
012c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.


Description


Константин Кондратюк



2006-10-31 15:15:35 MSK

msiexec не работает, ссылаясь на неправильные параметры командной строки. 
При этом установка msi-пакетов всё же возможна с помощью msiexec /i 
Простой способ воспроизведения: wine start <пакет.msi>


Comment 1


Константин Кондратюк



2006-12-13 20:45:06 MSK

Created attachment 77 [details]
 


Происходит ошибка при установке (wine c:downloadsInstMsiA.exe).
Вызывается функция GetCORSystemDirectory, которая не реализована в wine.
Патч добавляет эту функцию, но всё равно происходит падение. 
При блокировании библиотеки mscoree.dll ошибка не проявляется. 

Временное решение - исключать mscoree.dll из сборки (или блокировать).


Comment 2


Константин Кондратюк



2006-12-13 20:48:03 MSK

Также существует какая-то зависимость от того, какая версия windows включена в winecfg. Нужно попробовать разные варианты, но желательно, чтобы по умолчанию стояла 2000 или XP.


Comment 3


Константин Кондратюк



2006-12-14 11:40:13 MSK

Получилось установить msiexec с конфигурацией XP по умолчанию.
1. Нужно добавить msiexec.exe в список приложений и установить для него версию win98.
2. Блокировать mscoree.dll в приложениях по умолчанию.

Нужно включить эти изменения в 1.0.5. Тогда можно будет перевести багу в состояние LATER. Ситуацию с mscoree.dll нужно проконтролировать в следующих версиях wine.


Comment 4


Константин Кондратюк



2006-12-14 15:07:45 MSK

Добавление msiexec в список приложений - лишь частное решение. Другие установщики не работают, ссылаясь на повреждённый Installer.
В 1.0.5 оставляем версию windows по умолчанию 98.
mscoree.dll исключаем из сборки.


Comment 5


Vitaly Lipatov



2007-03-12 21:59:42 MSK

Нужно разобраться, почему не работает wine start файл.msi
и исправить это.
У меня подозрение, что вайновскому msiexec ключ /i не нужен, а виндовому - нужен. Я даже уверен в этом, потому что через winexp - работает.
Кстати, в релизе в winexp ошибка, связанная именно с msi. на сервере я её исправил.


Comment 6


Vitaly Lipatov



2007-03-15 16:11:18 MSK

Нужно устранить причину, поскольку в документации описан способ
wine start файл.msi


Comment 7


Константин Кондратюк



2007-05-08 18:21:38 MSD

И вайновский, и виндовый msiexec работают только с ключом /i. Без него вайновский msiexec сообщает: Product code on commandline unimplemented as of yet

Через wine start и просто через wine должен запускаться именно msiexec /i. Что и попробую сделать...


Comment 8


Константин Кондратюк



2007-05-10 11:32:06 MSD

Строка wine.inf, отвечающая за кусок реестра с msiexec /i

HKCR,Msi.PackageshellOpencommand,,2,"msiexec /i %1"

Запись в реестре:

[Software\Classes\Msi.Package\shell\Open\command] 1166800110
@=""C:\windows\system32\msiexec.exe" /i "%1" %*"

Запись в реестре, с которой начинает работать через wine start:

[Software\Classes\Msi.Package\shell\Open\command] 1166800110
@=""C:\windows\system32\msiexec.exe" /i "%1""


Comment 9


Константин Кондратюк



2007-05-10 11:37:38 MSD

Также работает строка без "лишних" кавычек:
@="C:\windows\system32\msiexec.exe /i %1"


Comment 10


Константин Кондратюк



2007-05-10 13:39:16 MSD

Строка в Windows аналогична той, что заносится в реестр в закрытой части. Т.е. wine неправильно обрабатывает строку (в открытой части строка имеет вид "msiexec /i %1" и проблема незаметна).


Comment 11


Константин Кондратюк



2007-05-10 17:37:34 MSD

Убрал часть командной строки, содержащуюю пустой параметр "".
Решение не идеальное, но пока сойдёт. Надеюсь, скоро решение будет более правильным и кардинальным...


Comment 12


Vitaly Lipatov



2007-05-10 22:56:11 MSD

Нужно ещё:
1. багу повесить
2. патч на wine.inf сделать


Comment 13


Vitaly Lipatov



2008-09-18 20:30:19 MSD

Можешь поставить точку на этой баге?

recently I had make the changes from Windows to Linux, and since then I have learnt new things everyday from making fine adjustment to my liking and troubleshooting some of the problem encountered.

However I had encounter a problem when I tried to install Microsoft Office 2010 with wine 6.0.1, and I encountered the mentioned problem «msiexec.exe encounter serious error»

I had tried using a couple of tutorial and to no avail and all resulted in the same error.
Had tried to install with default prefix, tried create wineprefix with winearch=win32, had done the winetricks to add msxml6 to the library, tried updated the mono and gecko to the latest version available, non are working.

below are the error message that I had encountered, appreciate anyone can give me the pointer or solution to this problem. Thanks.

    Unhandled exception: C++ exception(object = 0x014fdb40, type = 0x1004d798) in 32-bit code (0x7b00fd36).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b00fd36 ESP:014fd964 EBP:014fd9d8 EFLAGS:00000246(   - --  I  Z- -P- )
 EAX:014fd970 EBX:014fdb40 ECX:00000008 EDX:014fda08
 ESI:e06d7363 EDI:014fdc4c
Stack dump:
0x014fd964:  000000e4 014fda38 00000042 e06d7363
0x014fd974:  00000001 00000000 7b00fd36 00000003
0x014fd984:  19930520 014fdb40 1004d798 00000100
0x014fd994:  0000001b 00000000 014fda20 0000065b
0x014fd9a4:  014fda34 00000000 00000000 014fd9d0
0x014fd9b4:  10025981 014fda38 00000100 ffffffff
Backtrace:
=>0 0x7b00fd36 EntryPoint+0xffffffff() in kernelbase (0x014fd9d8)
  1 0x10025a4e in msi3b99.tmp (+0x25a4d) (0x014fda14)
  2 0x1003d7cb in msi3b99.tmp (+0x3d7ca) (0x014fdc78)
  3 0x1003b845 in msi3b99.tmp (+0x3b844) (0x014fe2ac)
  4 0x1003b8f9 in msi3b99.tmp (+0x3b8f8) (0x014fe340)
  5 0x100109b6 EntryPoint+0xffffffff() in msi3b99.tmp (0x014ff768)
  6 0x650af59c EntryPoint+0xffffffff() in msi (0x014ff778)
  7 0x650b257d EntryPoint+0xffffffff() in msi (0x014ffee8)
  8 0x00401383 EntryPoint+0xffffffff() in msiexec (0x014fff28)
  9 0x7b62e280 EntryPoint+0xffffffff() in kernel32 (0x014fff48)
  10 0x7bc5bb87 EntryPoint+0xffffffff() in ntdll (0x014fff5c)
  11 0x7bc5bde0 EntryPoint+0xffffffff() in ntdll (0x014fffec)
0x7b00fd36 EntryPoint+0xffffffff in kernelbase: subl    $4,%esp
Modules:
Module  Address         Debug info  Name (38 modules)
PE    400000-  440000   Dwarf           msiexec
PE    640000-  bc1000   Deferred        gdi32
PE    bd0000-  fb7000   Deferred        oleaut32
PE  10000000-1005d000   Export          msi3b99.tmp
PE  61740000-61828000   Deferred        advapi32
PE  61940000-61b40000   Deferred        wininet
PE  62e00000-62e45000   Deferred        odbccp32
PE  62fc0000-631f2000   Deferred        rpcrt4
PE  63480000-6349c000   Deferred        version
PE  637c0000-63a73000   Deferred        urlmon
PE  63bc0000-63c02000   Deferred        shcore
PE  64a40000-64b5e000   Deferred        shlwapi
PE  65080000-656a2000   Dwarf           msi
PE  658c0000-65901000   Deferred        sxs
PE  66240000-6627e000   Deferred        bcrypt
PE  68500000-6864b000   Deferred        combase
PE  68700000-6878e000   Deferred        uxtheme
PE  6a400000-6a884000   Deferred        ole32
PE  6bc00000-6bca1000   Deferred        sechost
PE  6bcc0000-6be9c000   Deferred        setupapi
PE  6cc40000-6d0c2000   Deferred        comctl32
PE  6d580000-6d5e2000   Deferred        cabinet
PE  6db40000-6db72000   Deferred        imagehlp
PE  6e8c0000-6eb63000   Deferred        crypt32
PE  6ed00000-6f392000   Deferred        user32
PE  6f4c0000-6f571000   Deferred        wintrust
PE  6fa80000-6fcca000   Deferred        dbghelp
PE  70940000-70997000   Deferred        mpr
PE  70b40000-70df3000   Deferred        ucrtbase
PE  710c0000-710ee000   Deferred        mspatcha
PE  71200000-71248000   Deferred        imm32
PE  7b000000-7b30c000   Dwarf           kernelbase
PE  7b600000-7b928000   Dwarf           kernel32
PE  7bc00000-7bedf000   Dwarf           ntdll
PE  7cf30000-7cf53000   Deferred        msxml3
PE  7d820000-7e0f7000   Deferred        shell32
PE  7e680000-7e684000   Deferred        winex11
PE  7e940000-7e944000   Deferred        ws2_32
Threads:
process  tid      prio (all id:s are in hex)
00000020 setup.exe
    00000024    0
    00000148    0
    000001a4    0
    00000374    0
    000004cc    0
    0000052c    0
00000038 services.exe
    0000003c    0
    00000040    0
    0000004c    0
    00000070    0
    00000088    0
    000000a0    0
    000000b0    0
    000000d4    0
    000000e8    0
    0000015c    0
    000003dc    0
00000044 winedevice.exe
    00000048    0
    00000054    0
    00000058    0
    0000005c    0
00000060 plugplay.exe
    00000064    0
    00000074    0
    00000078    0
    0000007c    0
    000000b8    0
00000068 explorer.exe
    0000006c    0
    00000110    0
    00000114    0
00000080 svchost.exe
    00000084    0
    0000008c    0
    00000090    0
    00000094    0
    00000108    0
    0000010c    0
    00000420    0
00000098 winedevice.exe
    0000009c    0
    000000a8    0
    000000ac    0
    000000b4    0
    000000c0    0
    000000c4    0
000000cc svchost.exe
    000000d0    0
    000000d8    0
    000000dc    0
000000e0 rpcss.exe
    000000e4    0
    000000ec    0
    000000f0    0
    000000f4    0
    000000f8    0
    00000118    0
0000011c conhost.exe
    00000120    0
00000154 OSE.EXE
    00000158    0
    00000164    0
    00000168    0
    0000016c    0
    00000184    0
    00000188    0
    000004b0    0
    000004ac    0
000003d8 OSPPSVC.EXE
    000003e0    0
    000003fc    0
    00000408    0
    0000041c    0
    00000414    0
    00000410    0
    00000428    0
000004c4 (D) C:windowssyswow64msiexec.exe
    000004bc    0
    00000544    0 <==
    0000054c    0
System information:
    Wine build: wine-6.0.1
    Platform: i386 (WOW64)
    Version: Windows 10
    Host system: Linux
    Host version: 5.11.0-38-generic


To add more information to the problem, below are the message before the error occurred.

058c:err:ole:com_get_class_object class {807573e5-5146-11d5-a672-00b0d022e945} not registered
058c:err:ole:com_get_class_object no class object {807573e5-5146-11d5-a672-00b0d022e945} could be created for context 0x1
058c:fixme:msxml:dom_pi_get_attributes created dummy map for <?xml ?>
058c:err:ole:com_get_class_object class {807573e5-5146-11d5-a672-00b0d022e945} not registered
058c:err:ole:com_get_class_object no class object {807573e5-5146-11d5-a672-00b0d022e945} could be created for context 0x1
058c:fixme:msxml:dom_pi_get_attributes created dummy map for <?xml ?>
058c:err:ole:com_get_class_object class {807573e5-5146-11d5-a672-00b0d022e945} not registered
058c:err:ole:com_get_class_object no class object {807573e5-5146-11d5-a672-00b0d022e945} could be created for context 0x1
058c:fixme:msxml:dom_pi_get_attributes created dummy map for <?xml ?>
0590:fixme:msi:MsiGetLastErrorRecord 
0590:fixme:msi:MsiGetLastErrorRecord 
wine: Unhandled exception 0xe06d7363 in thread 590 at address 7B00FD36 (thread 0590), starting debugger...


0

1

Надо запустить .msi файл. Для этого я воспользовался:

, но вместо установки я получаю ошибку:


nick@macbook:~/Загрузки$ wine msiexec /i SteamInstall.msi
err:service:validate_service_config Service L"Stdstmgdiab" has an unknown service type
err:service:scmdatabase_load_services Invalid configuration of service L"Stdstmgdiab" - skipping
err:module:import_dll Library iertutil.dll (which is needed by L"C:\windows\system32\urlmon.dll") not found
err:module:import_dll Library urlmon.dll (which is needed by L"C:\windows\system32\msi.dll") not found
err:module:import_dll Library msi.dll (which is needed by L"C:\windows\system32\msiexec.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\windows\system32\msiexec.exe" failed, status c0000135

В чем проблема?

Время на прочтение
5 мин

Количество просмотров 224K

image

Всем привет!
Прочел статью про «Все тонкости настройки Wine», оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.

В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
Скорее всего данный пост будет интересен новичкам и обычным пользователям GNULinux. Тем не менее добротные советы от специалистов не будут лишними.

Что такое вайн думаю объяснять нет смысла. Хочу лишь показать несколько трюков при работе с ним.

Префиксы

С их помощью вы можете устанавливать приложения именно туда куда вы их хотите установить, а не в дефолтный .wine. Даже если что то пойдет не так, достаточно удалить тот префикс, в котором произошла ошибка, при этом все другие приложенияпрефиксы (предположим, что они настроенные) не пострадают.

То есть каждый созданный вами префикс можно рассматривать как отдельный wine – он независим от других префиксов. Или, для еще большей простоты, воспринимайте каждый созданный префикс, как отдельно установленную винду.

Теперь немного практики:
Сейчас мы создадим папку Gamez, в ней мы создадим префикс lib в который установим несколько библиотек. Эти библиотеки все равно пригодятся потом, поэтому пусть кешируются.

mkdir ./Gamez
env WINEPREFIX=$HOME/Gamez/lib wine winecfg
env WINEPREFIX=$HOME/Gamez/lib winetricks directx9 vcrun2005 vcrun2008 vcrun6
env WINEPREFIX=$HOME/Gamez/lib wine winecfg

Последней командой мы опять вызвали окно конфигуратора wine. Просто перейдите на вкладку «Библиотеки» и убедитесь, что все установилось. После этого выполните:

wine winecfg — откроется конфигуратор wine (не из префикса), проверьте ту же вкладку. Видите! Здесь никаких библиотек. Значит он цел и невредим.

Как установить несколько разных версий wine?

Для решения этой задачи придется собирать wine из исходников. При сборке просто используем префикс для дефолтной установке. Примерно как здесь:

./configure prefix=/path/to/install/directory && make
sudo make install

AppDB

Обязательно используйте appdb для поиска информации по установке приложения, возможно стаф, который вы устанавливаете, уже установили и расписали все подводные камни.

Наводим порядок в домашнем каталоге

Если вы любите поиграть, то вероятно ваш /home раздел забит сейвами и прочими файлами игр. Избавиться от этого всего дела, не в ущерб можно так:

image

Замените стандартный путь к моим документам, на желаемое место для хранения сейвов. У меня, к примеру, этот путь ведет в папку с игрой.

Использование последних версий wine

Wine такая штука, чем новее тем лучше! С помощью следующей команды вы всегда будете иметь последнею версию wine (для Ubuntu-подобных дистрибутивов):

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

После выполнения этих команд ищите последнею версию wine в synaptic.

Установка winetricks

Если по каким-либо причинам у вас до сих пор нет winetricks, то завести его в хозяйстве можно так:

wget winetricks.org/winetricks
sudo cp winetricks /usr/bin
sudo chmod +x /usr/bin/winetricks

Как установить MSI файл?

Это можно сделать двумя способами: wine msiexec /i whatever.msi

Альтернативный способ: wine start whatever.msi

The file foo.exe is not marked as executable… — Что это значит?

Эта ошибка происходит потому что на exe файле стоит запрет на выполнение. Для файла на вашей ФС эта команда должна исправить положение:

chmod a+x ./patch/you/exe.file

если же файл находится на диске, то должна помочь вот эта команда:

mount -o remount,mode=0777,exec /media/cdrom

Как вывести содержимое отладки в отдельный файл?

cd ~/.wine/drive_c/Games/Tron
wine tron.exe &> log.txt

Как отключить «crash» диалог?

Если вы используете префиксы, не забудьте в команде указать путь к префиксу — winetricks nocrashdialog

После запуска приложенияигры, wine ругается и ничего не запускает. Что делать?

Для начала изучите логи, обычно в них все написано. Ниже я приведу самые популярные ошибки:

MFC40.DLL : через winetricks установи mfc40 (Microsoft Foundation Classes from Visual C++ 4).
MFC42.DLL, MSVCP60.DLL : через winetricks установи vcrun6 (MS Visual C++ 6 sp4 libraries: mfc42, msvcp60, msvcrt).
MFC71.DLL, MSVCP71.DLL : через winetricks установи vcrun2003 (MS Visual C++ 2003 libraries: mfc71,msvcp71,msvcr71).
MFC80.DLL, MSVCP80.DLL : через winetricks установи vcrun2005 (MS Visual C++ 2005 libraries: mfc80,msvcp80,msvcr80).
MFC90.DLL, MSVCP90.DLL : через winetricks установи vcrun2008 (MS Visual C++ 2008 libraries: mfc90,msvcp90,msvcr90).
MDAC : через winetricks установи mdac27 (MS MDAC 2.7).

Мое приложение работает, но текстовые поля ведут себя странно

Проанализируйте дебаг wine после запуска приложения, если видите что ругается на RICHED20.DLL, то доустановите через winetricks следующею библиотеку: riched20

После запуска в консоль выводятся fixme сообщения. Что это?

Вы можете просто их игнорировать, это информация для разработчиков.

Что делать если приложению необходим .NET фреймворк?

Через вайнтрикс можно установить 1 или 2 фреймворк. Как альтернатива использовать mono. Если же приложение требует 3 или 4 фреймворк, то скорее всего оно работать не будет (хотя 3 и даже 3.5 доступен в меню winetricks). Ждем пока решат эту проблему.

Игра которую я пытаюсь установить защищена от распространения возможно ли её установить?

Смотри список copy protection, которые работают.

Что делать если приложение требует IE?

Wine использует по умолчанию ядродвижок Gecko – это то же, что и на Firefox. Поэтому можно через winetrikcs доустановить gecko(если его нет) иили fakeie6.

Если же это не помогло, попробуйте поменять версию windows на win2k и установить через winetricks ie6, ie7 или ie8.

Как включить сглаживание шрифтов в wine?

Если ваша версия выше чем 1.1.12 вы можете использовать winetricks и выбрать один из трех вариантов сглаживания: fontsmooth-gray, fontsmooth-rgb или fontsmooth-bgr

После выхода из игры не восстанавливается разрешение экрана

Должно помочь: xrandr -s 0

Как попасть в реестр wine?

wine regedit — Если используются префиксы укажите путь в команде.

Нуждается ли wine в отдельной установке драйверов?

Нет. Wine – это не эмулятор компьютера, он лишь переводит вызовы Windows API в понятные линуксу команды.

Безопасно ли запускать wine от root?

Никогда не запускайте wine от root пользователя!!!

Если это уже случилось измените владельца ~./wine директории.

cd ~
sudo chown -R $USER:$USER .wine

Техника безопасности при использовании wine

Вот несколько советов, которые помогут вам повысить безопасность:

  • Никогда не запускайте программы с подозрительных сайтов
  • Никогда не используйте root пользователя для запуска приложений!
  • Используйте антивирусный сканер для запускаемых приложений, например ClamAV. Или хотя бы проверяете экзешники на virustotal
  • Попробуйте удалить wine диск Z:, который указывает по умолчанию на корневой каталог. В качестве обходного пути запускать программы из ~/.wine/drive_c директории.
  • Используйте виртуальную машину для запуска и проверки подозрительных приложений.
Файл .xsession-errors забивает мусором все дисковое пространство!!! Что делать? (рецепт от —=XliN=—)

Сохраните следующий скрипт:
% cat .scripts/xsessionerrorscleaner.sh
#! /bin/bash
while true ; do
inotifywait -e modify ~/.xsession-errors &> /dev/null
[[ "$(stat -c %s ~/.xsession-errors)" -ge "52428800" ]] && echo > ~/.xsession-errors
done

Добавьте его в автозагрузку, и установите следующий пакет (он необходим для работы скрипта).
apt-get install inotify-tools

Делаем «песочницу» для wine (рецепт от drBatty)

*1) создаём юзера
2) меняем права на домашние каталоги на 700
*3) прописываем команду в sudoers (visudo)
первый_юзер имя_компа=(второй_юзер) NOPASSWD: /программа_с_полным_путём
4) у первого юзера прописываем в автозагрузку DE команду xhost +local: второй_юзер
5) в ярлык для запуска программы пишем
sudo -u второй_юзер /программа_с_полным_путём
тогда первый юзер сможет более-менее безопасно запускать программы от имени второго юзера.
звёздочкой отмечены пункты, для которых нужны права рута.

Понравилась статья? Поделить с друзьями:
  • Msi ошибка пакета установщика windows
  • Msi ошибка 2753
  • Msi коды ошибок биос
  • Msi код ошибки 2705
  • Msi код ошибки 2356