electron-builder is calling 32bit installer causing paths point to WOW64 equivalents instead of the real x64 paths.
Process that calls installer is 64bit, then 32bit installer is called and eventually application that is "runAfterFinish" is 64bit.
How can I overcome this issue and force installer to call x64 version?
Tested on Windows 10, electron-builder 19.16.3
Builder ran with --x64 option gives output:
Building NSIS installer
Packaging NSIS installer for arch x64
Calling installer with ... /D=path argument would also solve the problem, but it is not taking this into account.
I don't know anything about electron builder but I do know that a 32-bit NSIS installer can install 64-bit programs.
Use SetRegView to change to the 64-bit registry view and use the macros in x64.nsh to turn filesystem redirection on and off.
Related
I have tried having the WebView2Loader.dll in the same directory as my executable. And I have also instead to tried to download the evergreen build from https://developer.microsoft.com/en-us/microsoft-edge/webview2/ and install it into my system (and have LoadLibrary find the DLL there instead)
In both cases the following happens. In my 32bit executable builds everything loads and works fine. In my 64bit executable my code:
Windows.LoadLibrary(PChar('WebView2Loader.dll'))
Gives this error:
%1 is not a valid Win32 application
I am on latest Windows 10 64bit
Any ideas what I can try...?
So I have Delphi XE (no number) and I have a project that was built on another machine (using JVCL components). Now, my machine is a Windows 8.1 (64 bits), and the previous machine was Windows XP (32 bits).
Of course I want to be able to continue developing the app, but for that I need the JCL/JVCL to be installed here too.
Now comes my problem. When I run the installer (bat) of JCL, it starts ok, but it does not show any options, so when I click the Install button nothing happens, and I get a message saying the installation finished. But of course nothing is installed.
This is how the installer looks on my x64 machine:
What can I do to install this JCL on a win64 machine? I am very sure that this is the problem: the OS. Because on 32bit OS (Windows XP) I have no problem installing it.
I looked it up, but could not find a straightforward solution. There might be a problem with some registry where the installer looks for the location of Delphi ?!?! but I have no idea how to fix it.
I need to install the JVCL, but it wont install unless I have JCL installed first... and the JCL does not install
Please help me.
Thank you
I was going to post this, but managed to dig up the answer, so here it is in case anyone else is looking...
My app installs a windows service via:
string[] installargs = new string[] { binaryname };
ManagedInstallerClass.InstallHelper(installargs);
However on a 64-bit platform I want to force the installation to use the 64-bit installer (the equivalent of the Framework64/InstallUtil)
How do I get ManagedInstallerClass.InstallHelper to run the 64-bit version?
Answer: The framework uses the specific installer for the build you are targetting. ie. if you have built an x64 framework and run on a 64-bit OS, it will use the Framework64/InstallUtil. If you have targetted a 32-bit or Any CPU build and run on a either 32-bit or 64-bit OS it will use the Framework/InstallUtil.
Note: a 32-bit build installed on a 64-bit OS will still use the Framework/InstallUtil. there is no workaround - you cant have a 32-bit installer install a 64-bit service. You have to build a separate x64 installer if you need to install a 64-bit service.
Source - Microsoft Forums.
I'm trying to install the BlackBerry tablet SDK 0.9.0 for Windows but the installer gives the following error:
Win64 not supported.
The author of the package you are installing did not include support for this platform
Is there a way to trick the installer to think I have a 32-bit OS instead of a 64-bit one?
Ok, this works for Windows 7 x64.
Install a java vm for "Windows" (aka the 32bit version from Oracle)
Reboot after install
Unzip the BlackBerryTabletSDK-Air-Installer-0.9.0-Win.exe installer file (I used 7zip)
Navigate to this file:
BlackBerryTabletSDK-Air-Installer-0.9.0-Win\Windows\BlackBerryTabletSDK-Air-Installer-0.9.0.201010221500.lax
Locate this property:
lax.nl.current.vm=
Set it to the location where you installed the 32 bit jvm (for me):
lax.nl.current.vm=C:/Program Files (x86)/Java/jdk1.6.0_22/bin/java.exe
Save the file
Double click the BlackBerryTabletSDK-Air-Installer-0.9.0.201010221500.exe 6.
Has anyone succeeded to compile a Win32 GUI app with the command line dcc32.exe compiler, under 64-bit Windows Vista, without installing Delphi 2009? On our system it fails, with a message that the DFM files contain unknown 16-bit resources. This is usually an indication that the DFM files cannot be read. It works perfectly on all 32-bit Vista and Windows XPs, that we tried.
I am asking, because we want to ensure that we can rebuild our current exe files later, if needed, so even if we all switch to 64-bit OSes in the future, we want to be able to rebuild the old 2009 versions.
With Delphi 2009 you should use msbuild to commandline compile your projects (msbuild YourProject.dproj). Be sure to do this from the RAD Studio commandprompt. This ensures some environment variables are set. Does this solve your problem?
Adding lnkdfm120.dll solved the problem.
Yes, we are performing console builds via dcc32 through nant in both Vista 64-bit and Windows 2008 64-bit. You may have to deal with some path issues the (X86) if you installed to the default location (we do not to remove these types of dependencies).