I've tried to get different Pulse Secure versions, legacy and current, both 32 and 64 bit , to install on two different models of Windows 10 devices running on Snapdragon/ARM. One is the HP Envy X2 LTE 12".
is every instance the error is the same, the installer seems to go all the way through with file copy and then quits saying installation has ended prematurely due to an error.
A not uncommon issue, usually blamed on driver/pnputil or Kapersky. Just to save time - There is no Kapersky present, there are no Pulse or juniper entries showing in the pnputil.txt file, error is consistent even with all antivirus and firewalls disabled. The win10 universal app is a no go as it does not support all the features needed for our corporate VPN.
I have not had problems installing pulse on any other windows 10 clients, just these ARM based ones.
Has anyone done this or have any suggestions? Probably related to driver/adapter install. Thanks
What do you see in the MSI install logs?
Check for return value 3 (fatal error) and backtrace to the cause.
Yes, you have enable logging using msiexec switch commands.
Use this syntax: msiexec /i <msi file path> /l*vx <log file path> Note: "/l" the keyword here is lowercase L.
For eg: <msi file path> - C:\PulseSecure.msi & <log file path> - C:\msilog.txt.
Ok Thanks. Results for failures with 32-bit and 64-bit Pulse Secure installers.. see below.
have a look and let me know what you think... Thanks
(Windows 10 on ARM64 / Snapdragon 8XX)
MSI (s) (E4:70) [21:56:35:800]: Doing action: MsiProcessDrivers
MSI (s) (E4:70) [21:56:35:800]: Note: 1: 2205 2: 3: ActionText
Action 21:56:35: MsiProcessDrivers.
Action start 21:56:35: MsiProcessDrivers.
MSI (s) (E4:70) [21:56:35:804]: Creating MSIHANDLE (450) of type 790542 for thread 3952
MSI (s) (E4:38) [21:56:35:805]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI9D7F.tmp, Entrypoint: ProcessDriverPackages
MSI (s) (E4!54) [21:56:35:837]: Creating MSIHANDLE (451) of type 790531 for thread 11860
DIFXAPP: ENTER: ProcessDriverPackages()
MSI (s) (E4!54) [21:56:35:838]: Closing MSIHANDLE (451) of type 790531 for thread 11860
MSI (s) (E4!54) [21:56:35:839]: Creating MSIHANDLE (452) of type 790531 for thread 11860
DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to install drivers on this machine.
MSI (s) (E4!54) [21:56:35:839]: Closing MSIHANDLE (452) of type 790531 for thread 11860
CustomAction MsiProcessDrivers returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (E4:38) [21:56:35:842]: Closing MSIHANDLE (450) of type 790542 for thread 3952
Action ended 21:56:35: MsiProcessDrivers. Return value 3.
MSI (s) (E4:70) [21:56:35:955]: Note: 1: 2265 2: 3: -2147287035
This installation package is not supported by this processor type. Contact your product vendor.
MSI (c) (E4:64) [22:02:53:949]: Note: 1: 1708
MSI (c) (E4:64) [22:02:53:949]: Product: Pulse Secure -- Installation failed.
So essentially if I'm reading this right these are the issues:
1. Windows on ARM is a 64-bit OS
2. Most third party apps have not been compiled for ARM64
3. ....and therefore the 32bit versions have to be used as Win on ARM uses a 32-bit emulation for regular windows apps
4. The Pulse installer for 32bit sees a 64bit OS and wants to use a 64bit DIFXAPP.DLL for driver install
5. Pulse installer for 64bit, not compiled for ARM64, fails as it detects the 32bit emulation environment.
Therefore, is there a way for me using freeware or commercial tools, to create a mixed mode MSI? I need to install the 32-bit drivers and files, but using the requisite files that will get past the OS being 64-bit. Or at least replacing DIFXAPP.DLL with the 64-bit version and rebuilding the MSI..
Any ideas anyone?
Though to be honest - the Pulse Secure client team should have already done this ...to make a version that works on the new generation of always connected Win10 devices on ARM..