amake / innosetup-docker

Docker image to create Windows installer executables with Inno Setup
https://hub.docker.com/r/amake/innosetup
Creative Commons Zero v1.0 Universal
71 stars 32 forks source link

Cannot build setup with 64 bit binary #5

Closed tuxmartin closed 2 years ago

tuxmartin commented 3 years ago

Hi, I need to have one setup file with x86 and x64 support. If I compile it on Windows 10 64b, it works. But if I compile the same iss file using your wine docker container, output contains only 32 binaries.

Win 10 x64:

Creating setup files
   Updating icons (SETUP.EXE)
   Initializing encryption
   Compressing: C:\Users\martin\Downloads\INNO\OpenVPN-2.5.3-I601-amd64.msi
   Compressing: C:\Users\martin\Downloads\INNO\OpenVPN-2.5.3-I601-x86.msi
   Compressing: C:\Users\martin\Downloads\INNO\desktop.RDP
   Compressing: C:\Users\martin\Downloads\INNO\user.ovpn
   Compressing Setup program executable
   Updating version info (SETUP.EXE)

Linux Docker:

Creating setup files
   Updating icons (SETUP.EXE)
   Initializing encryption
   Compressing: Z:\work\OpenVPN-2.5.3-I601-x86.msi
   Compressing: Z:\work\desktop.RDP
   Compressing: Z:\work\user.ovpn
   Compressing Setup program executable
   Updating version info (SETUP.EXE)

as you can see OpenVPN-2.5.3-I601-amd64.msi is missing.

There are my iss file: https://gist.github.com/tuxmartin/d20c7c319b77dac5acc0bad7e1aa28fc and docker command.

[Setup]
...
ArchitecturesInstallIn64BitMode=x64
...

[Files]
Source: "OpenVPN-2.5.3-I601-amd64.msi"; DestDir: "{tmp}"; DestName: "OpenVPN.msi"; Check: Is64BitInstallMode; Flags: ignoreversion deleteafterinstall; 
Source: "OpenVPN-2.5.3-I601-x86.msi"; DestDir: "{tmp}"; DestName: "OpenVPN.msi"; Check: not Is64BitInstallMode; Flags: ignoreversion deleteafterinstall;
Source: "desktop.RDP";   DestDir: "{app}"; Flags: ignoreversion;
Source: "user.ovpn";  DestDir: "{app}"; Flags: ignoreversion; DestName: "user_-_{#OVPN_SITE}.ovpn"

Isn't there a problem with 32 bit wine?

amake commented 3 years ago

Yeah I imagine we need Wine to be 64-bit. I have a 64-bit branch of amake/wine here but I think I remember running into some sort of blocking issue that prevented me from basing this image on that one.

amake commented 3 years ago

I did manage to get a seemingly working image with wine64 but the image size balloons by ~275MB.

tuxmartin commented 3 years ago

It's great news.

amake commented 3 years ago

Try amake/innosetup:64bit. I don't really have a way to test it.

tuxmartin commented 2 years ago

@amake thank you. It works!

msaperst commented 2 years ago

I tried that branch, still seeing similar issues:

This version of C:\Program Files (x86)\NIAMSInstaller\NIAMSExec.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
Screen Shot 2022-01-03 at 9 29 18 AM