[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: XP64 Manifest Achitecture problems
- From: "Antonio Scuri" <scuri@...>
- Date: Tue, 10 Mar 2009 15:17:20 -0300
That's correct. The 32 bits binaries are NOT working in Windows XP x64,
although they work on Vista x64.
But I tested on a new XP64 system without any updates because it is
offline. Maybe downloading the updates from Windows Update would fix the
problem.
I tried also to use external manifests but they do not work. The manifest
can be changed for the current DLL, but if anyone has another solution
without changing/recompiling the DLL I'll appreciate.
Best,
scuri
> -----Original Message-----
> From: lua-bounces@bazar2.conectiva.com.br [mailto:lua-
> bounces@bazar2.conectiva.com.br] On Behalf Of Danilo Roascio
> Sent: terça-feira, 10 de março de 2009 07:34
> To: lua@bazar2.conectiva.com.br
> Subject: XP64 Manifest Achitecture problems
>
> Hello everyone.
>
> This is to point out some problems I found with Lua binaries on
> Windows XP x64. I'm new to this mailing list and, actually, I'm not a
> Lua user. But I had to fix this problem because otherwise I couldn't
> run the wonderful Electric Sheep (electricsheep.org) on this machine.
> ;)
>
> Anyway. I've found that 32-bit binaries from both
> http://luabinaries.luaforge.net/download.html and Lua for Windows do
> not work on XP 64-bit (with errors like the XP ones in
> http://blogs.msdn.com/junfeng/archive/2006/04/14/576314.aspx ), while
> 64-bit binaries from http://luabinaries.luaforge.net/download.html
> work correctly. This shouldn't happen since XP64 has complete
> retro-compatibility with 32-bit apps (the only limitation is that you
> can't mix 32-bits libraries on a 64-bit processes and vice versa).
>
> This problem arises from the manifest of the executables set in
> lua_dllx.manifest:
>
> --- snip ---
> <assemblyIdentity
> type="win32"
> name="Microsoft.VC80.CRT"
> version="8.0.50727.762"
> processorArchitecture="*"
> publicKeyToken="1fc8b3b9a1e18e3b"
> />
> --- snip ---
>
> Leaving processorArchitecture set to "*" works for 64-bits executables
> and Windows (or, better, Side-by-Side) will load the correct VC CRT
> libraries. On 32-bit executables instead, SxS will just fail in
> loading the libraries saying that they can't be found even if their
> 32-bit version is correctly installed. Setting
> processorArchitecture="x86" will solve this problem for 32-bit
> executables that will run smoothly on XP64. That can be left set to
> "*" (or to "Amd64") for 64-bit ones.
>
> The compiler (I guess) also adds a Windows Common Controls dependency
> with processorArchitecture="*", but that works regardless of
> executable type (don't ask me why).
>
> However, you may want to do additional tests on Vista 64, just to
> check how the "*" works there.
>
> Regards.
> Danilo