Basic Pulse Secure Install

nomeelnoj
New Contributor III

Hi Everyone.

I am trying to add a policy that installs Pulse Secure on our endpoints, because we require it for use with VPN. I have seen the instructions from @rtrouton on now to deploy with a custom config, but they do not work, as I am simply trying to get the app to install.

I have a .dmg from Pulse that contains a simple .pkg file. When running it manually on an endpoint, it works no problem. However, when I upload the same .pkg to the JSS and use a policy to install it, it results in a broken application that will not open.

I have tried using Composer as well to create my own installer, that has the same result. Does anyone have any ideas here? I feel like this should be a really simple answer, but it is evading me currently.

Thanks in advance!

1 ACCEPTED SOLUTION

clrlmiller
New Contributor III

I saw the same problem when doing our installations. It seemed the installer worked the first time but ONLY once and any subsequent installations resulted in a damaged/corrupted App no matter what I did.

I ended up doing the following
Step 1. Use the App's own un-installer (note Application name change) to get rid of any existing installations.

#!/bin/sh
####################################################################
# Kill off older, possibly corrupt installations of Junos Pulse or Pulse Secure
# NOTE: This should NOT be run unless user is experiencing issues
# with the Junos SSLVPN software already.  This is intended
# to be a clean-up ONLY and NOT a precursor to 1st install.
####################################################################
# Cobbled together from other's hard work
# By Christopher Miller for ITSD-ISS of JHU-APL
# Dated:  2015-02-18, Updated: 2016-02-14
####################################################################

# Look for a Junos Pulse or Pulse Secure installation
if [ -e "/Applications/Junos Pulse.app/" ]
    then
    echo "Found Junos Pulse, now removing"
    /bin/sh '/Library/Application Support/Juniper Networks/Junos Pulse/Uninstall.app/Contents/Resources/uninstall.sh'
    sleep 5

elif [ -e "/Applications/Pulse Secure.app/" ]
    then
    echo "Found Pulse Secure, now removing"
    /bin/sh '/Library/Application Support/Pulse Secure/Pulse/Uninstall.app/Contents/Resources/uninstall.sh'
    sleep 5

else 
    echo "SSL-VPN App not Found"

fi

echo "Done!"
exit 0

Step 2. Using the vendor's own installer .PKG file to perform an installation.

Step 3. Use a simple Composer .PKG install of ONLY the application itself from a good, first install.

Step 4. Use another Composer .PKG install that drops a .jnprpreconfig file from the VPN server into /Library/Application Support/Juniper Networks/Junos Pulse/ If you don't have this file, get one from whoever is the Admin. This same .PKG also has a post-install shell script invoking the App's built-in import tool. Modify the ImportFile Variable to your own needs.

#!/bin/sh
## postflight
##
## Not supported for flat packages.
######################################
# By: Christopher Miller of ITSD-ISS for JHU-APL
# Dated: 2016-02-12
######################################

pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3

# Specify location and filename of the enterprise server config file
ImportFile="/Library/Application Support/Juniper Networks/Junos Pulse/FILENAMEHERE.jnprpreconfig"

# Now, Determine the version of the app to route to correct importer tool, then import
if [ -e "/Applications/Junos Pulse.app" ] ; then
    ImportApp="/Applications/Junos Pulse.app/Contents/Plugins/JamUI/jamCommand"

elif [ -e "/Applications/Pulse Secure.app" ] ; then
    ImportApp="/Applications/Pulse Secure.app/Contents/Plugins/JamUI/jamCommand"
fi

if [ "$ImportApp" != "" ] ; then
        "$ImportApp" -importFile "$ImportFile"
        echo "Import of settings finished!"

else 
    echo "Vendor Import Application not found"

fi          

exit 0      ## Success
exit 1      ## Failure

After this, you should have a working installation of the App and a configuration setup for your enterprise specific server. Good Luck! -CTM

View solution in original post

3 REPLIES 3

seanbalsiger
New Contributor III

Have you tried rebooting it after deploying the dmg installer? I don't have the time to look deeper into my deployment but I am using a .dmg that I packaged using composer. If I remember right, it includes LaunchAgents/Daemons that won't be running until a reboot.

gachowski
Valued Contributor II

2nd that I think a reboot is needed...

C

clrlmiller
New Contributor III

I saw the same problem when doing our installations. It seemed the installer worked the first time but ONLY once and any subsequent installations resulted in a damaged/corrupted App no matter what I did.

I ended up doing the following
Step 1. Use the App's own un-installer (note Application name change) to get rid of any existing installations.

#!/bin/sh
####################################################################
# Kill off older, possibly corrupt installations of Junos Pulse or Pulse Secure
# NOTE: This should NOT be run unless user is experiencing issues
# with the Junos SSLVPN software already.  This is intended
# to be a clean-up ONLY and NOT a precursor to 1st install.
####################################################################
# Cobbled together from other's hard work
# By Christopher Miller for ITSD-ISS of JHU-APL
# Dated:  2015-02-18, Updated: 2016-02-14
####################################################################

# Look for a Junos Pulse or Pulse Secure installation
if [ -e "/Applications/Junos Pulse.app/" ]
    then
    echo "Found Junos Pulse, now removing"
    /bin/sh '/Library/Application Support/Juniper Networks/Junos Pulse/Uninstall.app/Contents/Resources/uninstall.sh'
    sleep 5

elif [ -e "/Applications/Pulse Secure.app/" ]
    then
    echo "Found Pulse Secure, now removing"
    /bin/sh '/Library/Application Support/Pulse Secure/Pulse/Uninstall.app/Contents/Resources/uninstall.sh'
    sleep 5

else 
    echo "SSL-VPN App not Found"

fi

echo "Done!"
exit 0

Step 2. Using the vendor's own installer .PKG file to perform an installation.

Step 3. Use a simple Composer .PKG install of ONLY the application itself from a good, first install.

Step 4. Use another Composer .PKG install that drops a .jnprpreconfig file from the VPN server into /Library/Application Support/Juniper Networks/Junos Pulse/ If you don't have this file, get one from whoever is the Admin. This same .PKG also has a post-install shell script invoking the App's built-in import tool. Modify the ImportFile Variable to your own needs.

#!/bin/sh
## postflight
##
## Not supported for flat packages.
######################################
# By: Christopher Miller of ITSD-ISS for JHU-APL
# Dated: 2016-02-12
######################################

pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3

# Specify location and filename of the enterprise server config file
ImportFile="/Library/Application Support/Juniper Networks/Junos Pulse/FILENAMEHERE.jnprpreconfig"

# Now, Determine the version of the app to route to correct importer tool, then import
if [ -e "/Applications/Junos Pulse.app" ] ; then
    ImportApp="/Applications/Junos Pulse.app/Contents/Plugins/JamUI/jamCommand"

elif [ -e "/Applications/Pulse Secure.app" ] ; then
    ImportApp="/Applications/Pulse Secure.app/Contents/Plugins/JamUI/jamCommand"
fi

if [ "$ImportApp" != "" ] ; then
        "$ImportApp" -importFile "$ImportFile"
        echo "Import of settings finished!"

else 
    echo "Vendor Import Application not found"

fi          

exit 0      ## Success
exit 1      ## Failure

After this, you should have a working installation of the App and a configuration setup for your enterprise specific server. Good Luck! -CTM