WineHQ
Bug Tracking Database – Bug 24611

 Bugzilla

 

Last modified: 2021-03-02 13:38:23 UTC  

Install Shield fails on 64bit multilib wine if WINEPREFIX was created by 64bit wine

Bug 24611 - Install Shield fails on 64bit multilib wine if WINEPREFIX was created by 64bit wine
Install Shield fails on 64bit multilib wine if WINEPREFIX was created by 64bi...
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: oleaut32
1.3.3
x86-64 Linux
: P2 major
: ---
Assigned To: Mr. Bugs
https://web.archive.org/web/202103021...
: download, Installer, win64
: 22784 30273 30722 30887 31556 31619 31622 31625 31718 32236 32398 32488 32817 32855 32961 33082 33088 33289 33304 33390 33640 33944 34129 34545 34595 34933 35040 35881 36000 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2010-10-03 05:39 UTC by Nicky
Modified: 2021-03-02 13:38 UTC (History)
45 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: a8ebda980122423008e47d728a776bb408536f1c
Distribution: ---
Staged patchset:


Attachments
Age of Empires 3 log (965 bytes, text/plain)
2011-04-19 11:39 UTC, Stefan Dösinger
Details
Empire at War log (6.61 KB, text/plain)
2011-04-19 11:46 UTC, Stefan Dösinger
Details
Civilization 4 log (18.44 KB, text/plain)
2011-12-03 05:48 UTC, Dan H
Details
Backtrace from Dragon NaturallySpeaking 11.5 installation (7.94 KB, text/plain)
2012-07-05 08:20 UTC, Susan Cragin
Details
Output of Flight Simulator X - InstallShield installer (811 bytes, text/plain)
2013-05-19 08:07 UTC, Simon Dániel
Details
Misc fixes (19.80 KB, patch)
2013-09-25 14:12 UTC, Andrew Eikum
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nicky 2010-10-03 05:39:10 UTC
Install shield doesn't run on combined 32 and 64 bit multilib wine, It starts fine but it spills a lot of:

err:ole:marshal_object couldn't get IPSFactory buffer for interface {7871bfad-dad5-402f-9007-2593e9a07532}
err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
err:ole:StdMarshalImpl_ReleaseMarshalData could not map object ID to stub manager, oxid=410000000c, oid=2
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d

and then crashes. The problem seems to be limited to the multilib 32+64bit wine, as pure 32bit or 32bit only multilib wine don't have this problem. Also some people on arch forums reported that if the WINEPREFIX was created by a 32bit wine it would work even if the prefix was upgraded to a 64bit one.

Here's a related topic on wineforums:
http://forum.winehq.org/viewtopic.php?t=9698&sid=7619dc27fb449db56dac6b3882249f5a
Comment 1 Dmitry Timoshkov 2010-10-03 07:56:16 UTC
Wine version?
Comment 2 Nicky 2010-10-04 02:50:41 UTC
I can confirm this happens on 1.3.3 and 1.3.4
Comment 3 Ken Sharp 2010-11-07 01:41:33 UTC
Do you have the name of an application that is affected by this, and a demo?
Comment 4 szypul 2010-11-13 15:03:36 UTC
I have same problem with wine 1.1.7 and Europa Universalis III under Arch
Comment 5 Nicky 2010-11-17 18:43:43 UTC
Titan Quest has demo and if it uses the same installer, it will exhibit the same problem.
Comment 6 Lasath Fernando 2011-01-07 00:25:01 UTC

    
Comment 7 Stefan Dösinger 2011-04-19 11:36:43 UTC
I can confirm this bug. Star Wars Empire at War and Age of Empires 3 fail to start the installer on a wow64 wineprefix, but the installer starts fine on a classic 32 bit wineprefix.

Both applications are 32 bit applications, but apparently InstallShield is x86-64 aware and has some x86-64 components which it tries to use in a wow64 prefix. Both  games install fine on a 64 bit Windows 7 installation.

Apparently SW:EAW uses InstallShield 11 and Age of Empires 3 uses InstallShield 12. They fail with different errors, I'll attach logs. Age of Empires 3 has a demo available, but I have not tested if it has the same problem.
Comment 8 Stefan Dösinger 2011-04-19 11:39:55 UTC
Created attachment 34211 [details]
Age of Empires 3 log

This is a log of an attempt to run the age of empires 3 installer(InstallShield 12). The installer stopped with error 1628 (Script-based installation cannot be completed) before showing the welcome screen. Note that the missing interface(101a9fa5-98cb-4ac3-b67c-3dc040c45996) does not show up in a +ole log in a successful startup of the same installer on a pure win32 prefix

I can create more logs if needed.
Comment 9 Stefan Dösinger 2011-04-19 11:46:09 UTC
Created attachment 34212 [details]
Empire at War log

This is the log output from the Star Wars Empire at War installer(Installshield 11 based).
Comment 10 Valeriy Malov 2011-05-28 12:50:26 UTC
F.E.A.R. Combat installer fails too (same errors as for Empire at War), tested with wine-1.3.20
Comment 11 Martin Dengler 2011-07-09 09:34:45 UTC
Still happening with wine 1.3.21 

$ rpm -q wine
wine-1.3.21-1.fc15.x86_64

$ uname -a
Linux edge 2.6.38.8-32.fc15.x86_64 #1 SMP Mon Jun 13 19:49:05 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/fedora-release 
Fedora release 15 (Lovelock)
Comment 12 Dan H 2011-12-03 05:48:56 UTC
Created attachment 37762 [details]
Civilization 4 log
Comment 13 Dan H 2011-12-03 05:50:43 UTC
Still happening here, cannot install Civilization 4:

$ rpm -q wine
wine-1.3.29-1.fc16.x86_64

$ uname -a
Linux lappy 3.1.2-1.fc16.x86_64 #1 SMP Tue Nov 22 09:00:57 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/fedora-release
Fedora release 16 (Verne)
Comment 14 Anastasius Focht 2012-04-22 15:31:23 UTC
Hello,

confirming. The problem seems to be missing typelib/interface data in 64 bits registry.
The installer itself is 32 bits but the out-of-process COM server runs as 64 bit process and they talk to each other using standard marshaller.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files (x86)/Common Files/InstallShield/Professional/RunTime
...
$ ls -l
total 204
drwxrwxr-x. 3 focht focht   4096 Apr  4 22:56 11
-rw-rw-r--. 1 focht focht  38719 Feb  7  2006 iKernel.rgs
-rw-rw-r--. 1 focht focht    570 Dec 19  2005 ISBEW64.rgs
-rw-rw-r--. 1 focht focht   3368 Nov 13  2005 ISBEW64.tlb
-rw-rw-r--. 1 focht focht 121032 Nov 13  2005 IsProBE.tlb
-rw-rw-r--. 1 focht focht  32768 Feb  7  2006 Objectps.dll
...
--- snip ---

ISBEW64.rgs:

--- snip ---
HKCR
{
	NoRemove Interface
	{
		{7871BFAD-DAD5-402F-9007-2593E9A07532} = s 'IISBEW64Utils'
		{
			ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}'
			ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}'
			TypeLib = s '{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}'
			{
				val Version = s '1.0'
			}
		}
	}
	NoRemove TypeLib
	{
		{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}
		{
			1.0 = s 'ISENG64Lib'
			{
				0
				{
					win32 = s '%MODULEPATH%\ISBEW64.tlb'
				}
				FLAGS = s '0'
				HELPDIR = s '%MODULEPATH%'
			}
		}
	}
}
--- snip ---

Registration of typelib(s):

--- snip ---
0024:Starting process L"Z:\\home\\focht\\Downloads\\titan\\setup.exe" (entryproc=0x40ce22) 
...
0024:Call KERNEL32.CreateProcessA(00000000,0041f1b0 "Z:\\home\\focht\\Downloads\\titan\\setup.exe -deleter ",00000000,00000000,00000000,00000000,00000000,00000000,0032f108,0032f174) ret=00407a73
...
0026:Call KERNEL32.__wine_kernel_init() ret=7bc530d2
0024:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=00407a73 
...
0026:Call oleaut32.RegisterTypeLib(00157308,00156a5c L"C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime\\ISBEW64.tlb",00000000) ret=1001aec9
...
0026:Call advapi32.RegCreateKeyExW(80000000,0033d9d0 L"Typelib\\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\\1.0",00000000,00000000,00000000,00020006,00000000,0033d9ac,00000000) ret=7e47b1d0
0026:Ret  advapi32.RegCreateKeyExW() retval=00000000 ret=7e47b1d0 
...
0026:Call advapi32.RegCreateKeyExW(80000000,0033d9d0 L"Interface\\{7871BFAD-DAD5-402F-9007-2593E9A07532}",00000000,00000000,00000000,00020006,00000000,0033d9ac,00000000) ret=7e47bb8f
0026:Ret  advapi32.RegCreateKeyExW() retval=00000000 ret=7e47bb8f 
...
0026:Ret  oleaut32.RegisterTypeLib() retval=00000000 ret=1001aec9 
...
--- snip ---

The type library got registered in 32 bits part (wine64 regedit):

--- snip ---
REGEDIT4

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}]

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0]
@="ISENG64Lib"

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\0]

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\0\win32]
@="C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime\\ISBEW64.tlb"

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\HELPDIR]
@="C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime"
--- snip ---

--- snip ---
REGEDIT4

[HKEY_CLASSES_ROOT\Wow6432Node\Interface\{7871BFAD-DAD5-402F-9007-2593E9A07532}]
@="IISBEW64Utils"

[HKEY_CLASSES_ROOT\Wow6432Node\Interface\{7871BFAD-DAD5-402F-9007-2593E9A07532}\ProxyStubClsid]
@="{00020424-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\Wow6432Node\Interface\{7871BFAD-DAD5-402F-9007-2593E9A07532}\ProxyStubClsid32]
@="{00020424-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\Wow6432Node\Interface\{7871BFAD-DAD5-402F-9007-2593E9A07532}\TypeLib]
@="{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}"
"Version"="1.0"
--- snip ---

64-bits registry for "TypeLib":

--- snip ---
REGEDIT4

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}]

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0]
@="ISENG64Lib"

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\0]

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\0\win32]
@="C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime\\ISBEW64.tlb"

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\HELPDIR]
@="C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime"
--- snip --- 

64-bits registry for "Interface": key not present

The 64-bit InstallShield engine trying to find typelib data for creating proxy:

--- snip ---
0026:Call KERNEL32.CreateProcessA(00000000,0033d28c "C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime\\11\\50\\Intel32\\ISBEW64.exe {DD19BC0E-827B-48CE-9D16-F7917E8B486C}:{9EF36F7A-EF7B-4BC6-92C4-F5B242B7CF88}",00000000,00000000,00000000,00000000,00000000,00000000,0033d68c,0033d6e0) ret=00913327
...
0029:Call KERNEL32.__wine_kernel_init() ret=7f4ffe6d163e
0026:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=00913327 
...
0029:trace:ole:CoGetPSClsid () riid={7871bfad-dad5-402f-9007-2593e9a07532}, pclsid=0x23e010
0029:Call advapi32.RegOpenKeyExW(ffffffff80000000,0023de30 L"Interface\\{7871BFAD-DAD5-402F-9007-2593E9A07532}\\ProxyStubClsid32",00000000,00020019,0023ddd0) ret=7f4ff67185f2
003c:Ret  user32.PostMessageW() retval=00000001 ret=7f4ff6768944
003c:Call KERNEL32.WaitForSingleObject(00000070,ffffffff) ret=7f4ff6768960
0029:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=7f4ff67185f2
0029:warn:ole:CoGetPSClsid No PSFactoryBuffer object is registered for IID {7871bfad-dad5-402f-9007-2593e9a07532}
0029:err:ole:marshal_object couldn't get IPSFactory buffer for interface {7871bfad-dad5-402f-9007-2593e9a07532} 
...
--- snip ---

If I manually import/add "{7871BFAD-DAD5-402F-9007-2593E9A07532}" interface from 32 to 64 bit registry:

--- snip ---
0029:trace:ole:CoGetPSClsid () riid={7871bfad-dad5-402f-9007-2593e9a07532}, pclsid=0x23e010
0029:Call advapi32.RegOpenKeyExW(ffffffff80000000,0023de30 L"Interface\\{7871BFAD-DAD5-402F-9007-2593E9A07532}\\ProxyStubClsid32",00000000,00020019,0023ddd0) ret=7fe23126c5f2 
...
0029:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=7fe23126c5f2 
...
0029:trace:ole:CoGetPSClsid () Returning CLSID={00020424-0000-0000-c000-000000000046}
0029:trace:ole:CoGetClassObject CLSID: {00020424-0000-0000-c000-000000000046},IID: {d5f569d0-593b-101a-b569-08002b2dbf7a}
...
0029:Call advapi32.RegOpenKeyExW(ffffffff80000000,0023ddb0 L"CLSID\\{00020424-0000-0000-C000-000000000046}",00000000,00020019,0023dda8) ret=7fe23126bbe5 
...
0029:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=7fe23126bbe5 
...
0029:trace:ole:PSFacBuf_CreateStub ({7871bfad-dad5-402f-9007-2593e9a07532},0x2c4540,0x23e0a0)
0029:Call advapi32.RegOpenKeyA(ffffffff80000000,0023db40 "Interface\\{7871bfad-dad5-402f-9007-2593e9a07532}\\Typelib",0023de68) ret=7fe230c41fc5
0029:Ret  advapi32.RegOpenKeyA() retval=00000000 ret=7fe230c41fc5
0029:Call advapi32.RegQueryValueExA(00000074,00000000,00000000,0023d7a4,0023dda0,0023d7ac) ret=7fe230c4206a
0029:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=7fe230c4206a
0029:Call advapi32.RegQueryValueExA(00000074,7fe230d31bb5 "Version",00000000,0023d7a4,0023dad0,0023d7a8) ret=7fe230c42116
0029:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=7fe230c42116
0029:Call advapi32.RegCloseKey(00000074) ret=7fe230c42189
0029:Ret  advapi32.RegCloseKey() retval=00000000 ret=7fe230c42189
0029:Call advapi32.RegQueryValueA(ffffffff80000000,0023dc70 "Typelib\\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\\1.0\\0\\win64",0023d9c0,0023d7a0) ret=7fe230c421ec
0029:Ret  advapi32.RegQueryValueA() retval=00000002 ret=7fe230c421ec
0029:err:ole:_get_typeinfo_for_iid Could not get typelib fn?
0029:err:ole:PSFacBuf_CreateStub No typeinfo for {7871bfad-dad5-402f-9007-2593e9a07532}?
0029:err:ole:marshal_object Failed to create an IRpcStubBuffer from IPSFactory for {7871bfad-dad5-402f-9007-2593e9a07532} with error 0x80004005 
...
--- snip ---

It wants the "win64" key. Adding it manually:

--- snip ---
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Classes\Typelib\{DE7D81D8-FD4A-456B-9A5E-6CED95B57D91}\1.0\0\win64]
@="C:\\Program Files (x86)\\Common Files\\InstallShield\\Professional\\RunTime\\ISBEW64.tlb"
--- snip ---

Now the proxy gets created and both - the 32 bit setup and the 64 bit installer engine can talk to each other.
The demo installs successfully.

The "TypeLib" data is synchronized between the 64-bit and 32-bit views of the registry.
"Interface" not.

Regards
Comment 15 Anastasius Focht 2012-04-22 15:42:45 UTC
*** Bug 22784 has been marked as a duplicate of this bug. ***
Comment 16 Carlos Salvador Pérez Salgado 2012-05-10 18:38:03 UTC
I confirm this issue on Gentoo linux, wine-1.5.3 on AMD 64, InstallShield crashes. I tried to install Black and White 2. 

This repeats until it crashes: 

fixme:heap:HeapSetInformation 0x2c4000 0 0x23fcb0 4
fixme:atl:AtlModuleInit SEMI-STUB (0x40f900 0x40f010 0x400000)
err:ole:marshal_object couldn't get IPSFactory buffer for interface {7871bfad-dad5-402f-9007-2593e9a07532}
err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
err:ole:StdMarshalImpl_ReleaseMarshalData could not map object ID to stub manager, oxid=3e00000044, oid=2
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d
fixme:heap:HeapSetInformation 0x2c4000 0 0x23fcb0 4
fixme:atl:AtlModuleInit SEMI-STUB (0x40f900 0x40f010 0x400000)
err:ole:marshal_object couldn't get IPSFactory buffer for interface {7871bfad-dad5-402f-9007-2593e9a07532}
err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
err:ole:StdMarshalImpl_ReleaseMarshalData could not map object ID to stub manager, oxid=900000029, oid=2
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d
fixme:heap:HeapSetInformation 0x2c4000 0 0x23fcb0 4
fixme:atl:AtlModuleInit SEMI-STUB (0x40f900 0x40f010 0x400000)
err:ole:marshal_object couldn't get IPSFactory buffer for interface {7871bfad-dad5-402f-9007-2593e9a07532}
err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
err:ole:StdMarshalImpl_ReleaseMarshalData could not map object ID to stub manager, oxid=2700000047, oid=2
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d
Comment 17 Susan Cragin 2012-07-05 08:20:15 UTC
Created attachment 40868 [details]
Backtrace from Dragon NaturallySpeaking 11.5 installation

Dragon NaturallySpeaking 11.5 Home edition does not install with the following comment: 
ISBEW64.exe has encountered a serious problem. 

version wine-1.5.8
Comment 18 Anastasius Focht 2012-10-07 10:12:03 UTC
*** Bug 30722 has been marked as a duplicate of this bug. ***
Comment 19 Stefan Dösinger 2012-10-07 15:15:59 UTC
I followed Focht's instructions and added the extra keys, now Star Wars: EAW installs correctly.
Comment 20 André Z. 2012-10-08 17:12:55 UTC
(In reply to comment #14)
> The "TypeLib" data is synchronized between the 64-bit and 32-bit views of the
> registry.
> "Interface" not.

Reminds me of bug 14771, there we also need to "mirror" or "sync". Not between 64-bit and 32-bit, but e.g. between HKEY_CURRENT_USER and HKEY_CLASSES_ROOT. Maybe some functions can be shared to implement that, not sure.
Comment 21 Anastasius Focht 2012-12-19 15:04:16 UTC
*** Bug 32488 has been marked as a duplicate of this bug. ***
Comment 22 Anastasius Focht 2013-01-31 13:09:54 UTC
*** Bug 32855 has been marked as a duplicate of this bug. ***
Comment 23 Anastasius Focht 2013-03-03 05:48:05 UTC
*** Bug 31622 has been marked as a duplicate of this bug. ***
Comment 24 Anastasius Focht 2013-03-03 05:49:26 UTC
*** Bug 33088 has been marked as a duplicate of this bug. ***
Comment 25 Anastasius Focht 2013-03-03 05:50:26 UTC
*** Bug 33082 has been marked as a duplicate of this bug. ***
Comment 26 Ken Sharp 2013-03-24 07:01:43 UTC
*** Bug 31625 has been marked as a duplicate of this bug. ***
Comment 27 Ken Sharp 2013-03-24 12:17:35 UTC
*** Bug 31619 has been marked as a duplicate of this bug. ***
Comment 28 Bruno Jesus 2013-03-28 22:43:36 UTC
*** Bug 33289 has been marked as a duplicate of this bug. ***
Comment 29 Bruno Jesus 2013-03-31 07:33:24 UTC
*** Bug 33304 has been marked as a duplicate of this bug. ***
Comment 30 Austin English 2013-04-02 00:03:27 UTC
*** Bug 33289 has been marked as a duplicate of this bug. ***
Comment 31 Nikolay Sivov 2013-04-14 14:48:29 UTC
*** Bug 33390 has been marked as a duplicate of this bug. ***
Comment 32 Anastasius Focht 2013-04-28 10:38:31 UTC
*** Bug 30273 has been marked as a duplicate of this bug. ***
Comment 33 Simon Dániel 2013-05-19 08:07:41 UTC
Created attachment 44501 [details]
Output of Flight Simulator X - InstallShield installer

I did this with Wine 1.5.30 64-bit.
Comment 34 Nikolay Sivov 2013-07-03 09:46:11 UTC
*** Bug 33944 has been marked as a duplicate of this bug. ***
Comment 35 Ken Sharp 2013-07-16 11:42:31 UTC
*** Bug 32961 has been marked as a duplicate of this bug. ***
Comment 36 Rosanne DiMesio 2013-07-25 10:03:06 UTC
*** Bug 34129 has been marked as a duplicate of this bug. ***
Comment 37 Bruno Jesus 2013-09-18 07:26:02 UTC
*** Bug 34545 has been marked as a duplicate of this bug. ***
Comment 38 Dan Kegel 2013-09-22 23:25:20 UTC
Affects lots of apps -> major
Comment 39 Bruno Jesus 2013-09-25 13:20:22 UTC
*** Bug 34595 has been marked as a duplicate of this bug. ***
Comment 40 Andrew Eikum 2013-09-25 14:12:24 UTC
Created attachment 46079 [details]
Misc fixes

Here's a patch which fixes the Titan Quest installer for me. It's three incomplete patches rolled into one.

First, on Windows, RegisterTypeLib appears to register 32-bit typelibs into the 64-bit side of HKCR\Interfaces (HKCR\Typelib is mirrored, which is why this already works). So this patch adds code to do that using KEY_WOW64_64KEY in 32-bit processes.

But, advapi32 is broken and uses the cached 32-bit HKEY for HKEY_CLASSES_ROOT even if you specify the KEY_WOW64_64KEY. So this patch adds logic to avoid the cached entries if any of the KEY_WOW64 flags are present.

Finally, tmarshal rigidly checks for a <HKCR\Typelib\...\win64> key when running in 64-bit mode. For a 32-bit typelib, Windows's RegisterTypeLib only creates a win32 key. I think tmarshal should fall back onto a win32 key if win64 is not present. This patch does that, and it's enough to fix the installer.

So I need to write some tests to verify what I just wrote, but this patch should work for anyone who wants to test it.
Comment 41 Andrew Eikum 2013-10-16 14:35:34 UTC
The following four commits in Wine fix the Titan Quest installer for me. The changes will be included in Wine 1.7.5. Please retest your installers.



commit a8ebda980122423008e47d728a776bb408536f1c
Author: Andrew Eikum <aeikum@codeweavers.com>
Date:   Wed Oct 16 08:21:13 2013 -0500

    oleaut32: For 64-bit, fallback on the win32 key if win64 key is empty for typelibs.

commit fbffa8935e8c2c392418e6d91fa5424fc157a25b
Author: Andrew Eikum <aeikum@codeweavers.com>
Date:   Wed Oct 16 08:21:10 2013 -0500

    oleaut32: Also register typelibs in the opposite registry mode.

commit 0d1526bf4a6178063486c517e38141705ba85b2b
Author: Andrew Eikum <aeikum@codeweavers.com>
Date:   Fri Oct 4 09:44:28 2013 -0500

    advapi32: Don't cache HKCR if WOW64 redirection flags are set.

commit 8cb7f877d7406065074183ae8541355f0090e6db
Author: Andrew Eikum <aeikum@codeweavers.com>
Date:   Fri Oct 4 09:44:21 2013 -0500

    advapi32: Attempt to open WOW64 key before the lowest level key, too.
    
    Without this, we'll fail to open the correct key for e.g.
    <Machine\Software\Classes> with KEY_WOW64_32KEY, which should resolve to
    <Machine\Software\Wow6432Node\Classes>.
Comment 42 Andrew Eikum 2013-11-01 10:55:05 UTC
Over two weeks with no negative reports. Please open a new bug if you are still having an issue with your installer in a 64-bit WINEPREFIX.
Comment 43 Alexandre Julliard 2013-11-08 12:33:01 UTC
Closing bugs fixed in 1.7.6.
Comment 44 Bruno Jesus 2013-11-17 08:22:12 UTC
*** Bug 34933 has been marked as a duplicate of this bug. ***
Comment 45 Anastasius Focht 2013-11-17 10:31:21 UTC
Hello folks,

using last commit of Andrew's series for sha1 field: http://source.winehq.org/git/wine.git/commitdiff/a8ebda980122423008e47d728a776bb408536f1c

Regards
Comment 46 Béla Gyebrószki 2013-11-28 11:21:07 UTC
*** Bug 33640 has been marked as a duplicate of this bug. ***
Comment 47 Anastasius Focht 2013-12-03 08:48:12 UTC
*** Bug 35040 has been marked as a duplicate of this bug. ***
Comment 48 Susan Cragin 2013-12-03 08:59:12 UTC
I don't think this bug is 100% fixed because I'm having trouble with Dragon NaturallySpeaking 12.5. This program is a 32-bit program with some 64-bit code handles, according to the developers. 
See bug 34939.
Comment 49 Marcus Meissner 2013-12-29 11:29:32 UTC
I have opened bug 35268  for left over cases, like groupwise 2012 installer.

if you have a freely downloadable demo that still breaks, you could link it please?
Comment 50 Anastasius Focht 2014-01-01 13:03:51 UTC
*** Bug 31556 has been marked as a duplicate of this bug. ***
Comment 51 Alexandre Julliard 2014-01-10 14:46:29 UTC
Removing 1.6.x milestone from bugs included in 1.6.2.
Comment 52 Nikolay Sivov 2014-02-13 23:06:06 UTC
*** Bug 31718 has been marked as a duplicate of this bug. ***
Comment 53 Nikolay Sivov 2014-02-15 06:53:32 UTC
*** Bug 32398 has been marked as a duplicate of this bug. ***
Comment 54 Bruno Jesus 2014-03-28 11:13:20 UTC
*** Bug 35881 has been marked as a duplicate of this bug. ***
Comment 55 Nikolay Sivov 2014-04-15 02:17:06 UTC
*** Bug 36000 has been marked as a duplicate of this bug. ***
Comment 56 Anastasius Focht 2014-05-04 08:20:54 UTC
*** Bug 30887 has been marked as a duplicate of this bug. ***
Comment 57 Anastasius Focht 2014-05-12 12:24:46 UTC
*** Bug 32236 has been marked as a duplicate of this bug. ***
Comment 58 Bruno Jesus 2014-06-08 11:28:40 UTC
*** Bug 36697 has been marked as a duplicate of this bug. ***
Comment 59 Anastasius Focht 2014-09-28 13:05:28 UTC
*** Bug 32817 has been marked as a duplicate of this bug. ***


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers