Archive: NSIS 64bit


NSIS 64bit
Hi,

Are there any plans of making a native x64 version of NSIS?

I don't like to run regsvr32 to register a dll, not to mention that I have to pollute the NSI file with !if directives to set SetRegView 64 etc.

I would like to have only one script which would create the right installer for every platform.

I guess I'm not the only one who thinks this way, see 7-zip, the author used MSI for 64 bit installer.

Cristian.


Plans yes. Time no.


Any progress
Does anyone know if progress has been made on creating 64bit installers? or where I could get information about progress? or if there is a way to locally build for x64 targets?

EnderJSC


why do you need a 64 bit build? If all you want is to access the 64 bit registry and programfiles, there is no need, the 32 bit version can do that


The next version of Windows Server 2008 (R2) will be 64-bit only. Not only that, but it can be installed without WOW64 meaning that ONLY a native 64-bit installer will work.

See:
http://msdn.microsoft.com/en-us/libr...88(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...90(VS.85).aspx

Native 64-bit binaries will become a very important requirement for us very soon.


Let's try those links again...

...

Edit (Afrow UK): Links fixed.


ht tp://msdn.microsoft.com/en-us/library/dd371688(VS.85).aspx
ht tp://msdn.microsoft.com/en-us/library/dd371790(VS.85).aspx

That is really cool, but I don't believe 32-bit drivers were ever feasible in 64-bit, nor 16-bit drivers in 32-bit Windows.

I'm not allowed to post URLs yet? ..


Um, without a 32-bit version and without Wow64 on a 64-bit version you won't be able to run 32-bit code at all... NSIS installers will fail to execute entirely. Drivers aren't my concern--exe's are.


There is probably still plenty of time before being forced to use a x64 version of NSIS. The next version of Windows does include Wow64; it is just optional to remove it or install the OS without it.


For most, yes, but our software needs to work on the existing configuration of the system it is being installed on (for support purposes). For *us* this is a big issue because we *can't* require WoW64.


System::call calling a 64 bit dll
i have a dll built for 64 bit compilation, i used makensis and makensisw(from scratchpaper),
i could not call the function in the 64 bit dll.

the same dll when compiled in 32 bit , it is able to compile properly.

i think the function calling stack between 32 bit installer ( target -> output from makensis) and the 64 bit dll function is a problem.

Please help.


Calling 64-Bit DLL's from a 32-Bit process doesn't work. And probably never will work. Forget about that!

As NSIS is 32-Bit, calling a 64-Bit DLL directly from your NSIS installer is a lost case - unless there ever will be a native 64-Bit version of NSIS. But currently it doesn't look like that. Even Unicode support, which IMHO is much more important, still is a work in progress...

Anyway, while you cannot load 64-Bit DLL's, you can run 64-Bit processes! So simply put the code into an EXE that you can run from you installer, instead of putting it into a DLL. Or, if you have to use the DLL, make a simple stub 64-Bit EXE that will call your DLL.


System::call calling a 64 bit dll
Thanks LoRd_MuldeR for the quick reply that was a good info.:up::D