how to detect OS architecture?
Marco Leise
Marco.Leise at gmx.de
Thu Dec 19 01:41:26 PST 2013
Am Wed, 18 Dec 2013 13:19:09 -0000
schrieb "Regan Heath" <regan at netmail.co.nz>:
> On Tue, 17 Dec 2013 15:13:20 -0000, Marco Leise <Marco.Leise at gmx.de> wrote:
>
> > Am Tue, 17 Dec 2013 13:30:25 -0000
> > schrieb "Regan Heath" <regan at netmail.co.nz>:
> >
> >> On Mon, 16 Dec 2013 21:27:13 -0000, Hugo Florentino <hugo at acdam.cu>
> >> wrote:
> >>
> >> > On Mon, 16 Dec 2013 20:23:00 +0100, Jacob Carlborg wrote:
> >> >> On 2013-12-16 17:46, Marco Leise wrote:
> >> >>
> >> >>> Hehe, I guess the whole purpose of the launcher is to run in
> >> >>> 32-bit and detect at runtime if the 64-bit main executable can
> >> >>> be run or the 32-bit version must be used.
> >> >>
> >> >> The only advantage of that is that only a 32bit launcher needs to be
> >> >> distributed. Perhaps that's the whole idea.
> >> >
> >> > It is. :)
> >>
> >> "Process Explorer" by sysinternals, now distributed by M$ does something
> >> similar.
> >> http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx
> >>
> >> It is a 32 bit exe, which detects the OS bit width and if it's 64 bit
> >> extracts a 64 exe from within itself to run. When you quit that 64 bit
> >> exe, it deletes the file it extracted from disk. It's quite a neat
> >> solution.
> >>
> >> R
> >>
> >
> > Only if your executable is self-contained. If you already have
> > external DLLs or assets you can as well have a launcher and 2
> > actual binaries.
>
> I don't see why that changes things? Sure, you cannot extract your
> *static* dependent dlls (those linked at compile time with libs), those
> have to exist before you can execute your 32 bit launcher. But, if you
> really wanted to, you could extract and runtime load dlls no problem.
>
> R
That's my point. If you really wanted, you could do that but
you can as well have a launcher and 2 application binaries and
avoid this repeated file extraction/deletion and save
yourself some troubles at the end of the day.
--
Marco
More information about the Digitalmars-d-learn
mailing list