Skip to content
⌘ NSIS Forum Archive

NSIS 64bit

13 posts

cristianadam#

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.
EnderJSC#
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
Anders#
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
byteboon#
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:



Native 64-bit binaries will become a very important requirement for us very soon.
redxii#
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? ..
byteboon#
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.
kalverson#
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.
byteboon#
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.
anandsunku#
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.
LoRd_MuldeR#
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.
anandsunku#
System::call calling a 64 bit dll

Thanks LoRd_MuldeR for the quick reply that was a good info.👍😁