Policy Failed to run

msg4karth
New Contributor III

Starting from last 2 week, we started facing issue with self-serivce. When user try to install app from Self-Service, it throws below error;
e07b7dcf5cea4fc999fed18a9e054c32

Any idea what could the cause?

9 REPLIES 9

davidacland
Honored Contributor II

Is there any more information in the policy log on the JSS?

msg4karth
New Contributor III

Thanks Davidacland
it just says Copying bjnplugin_2.100.53.8...
Installing bjnplugin_2.100.53.8...
Installation failed. The installer reported:

I tried manually executing the pkg and I get this message, when I click continue, no further response;
15d253392c584d179d6eef0eabaf20cd

McAwesome
Valued Contributor

Does the system log show any more detailed information?

msg4karth
New Contributor III

No! :(

bpavlov
Honored Contributor

Not sure if it'll make a difference but try to run the installer through the command line using the following:

installer -dumplog -verbose -pkg "/path/to/installer.pkg" -target / -allowUntrusted

Note: If the path to the pkg has spaces, remove the double quotes.

Hopefully you'll get some get some feedback through the command line. Then check in Console.app under /var/log/install.log and it doesn't hurt to see system.log either.

bpavlov
Honored Contributor

You know what I went ahead and tested the installer myself and I'm having the same problem. Kind of strange because I downloaded a plug-in last week and it worked fine.
The version I had that worked last week was bjnplugin_2.100.38.8.pkg.
However the version I just downloaded today was bjnplugin_2.100.53.8.pkg

So I went ahead and re-tried the old plug-in and was getting the same error.

I expanded the pkg to see what preinstall script it was running. The command was pkgutil --expand /path/to/pkg /path/to/folder/that/does/not/exist

#!/bin/sh
#
# Installation script that bypasses normal installation procedures and instead
# delivers the payload (the plugin) directly to the user directory
#
# Blue Jeans Network, 2012 - Luke Ma
# ===========================================================================

# Remove old plugin
rm -rf ~/Library/Internet Plug-Ins/bjnplugin_*
rm -rf ~/Library/Internet Plug-Ins/bjninstallplugin_*

if [ ! -d  ~/Library/Internet Plug-Ins ]; then 
    mkdir ~/Library/Internet Plug-Ins
fi      


# Install new plugin
mv -f bjnplugin* ~/Library/Internet Plug-Ins/
mv -f bjninstallplugin* ~/Library/Internet Plug-Ins

# FF workaround - explicitly change date modified/permissions to ensure that
# FF will pick up new version of plugin right away
touch ~/Library/Internet Plug-Ins/bjnplugin_*
chmod 755 ~/Library/Internet Plug-Ins/bjnplugin_*

touch ~/Library/Internet Plug-Ins/bjninstallplugin_*
chmod 755 ~/Library/Internet Plug-Ins/bjninstallplugin_*

xattr -r -d com.apple.quarantine ~/Library/Internet Plug-Ins/bjnplugin_2.100.53.8.plugin/Contents/Resources/Blue Jeans Meeting Launcher.app

open ~/Library/Internet Plug-Ins/bjnplugin_2.100.53.8.plugin/Contents/Resources/Blue Jeans Meeting Launcher.app

open -a Blue Jeans Meeting Launcher

# Kill Installer as we no longer need it
kill $PPID

# Done

Make of it what you will.

mm2270
Legendary Contributor III

Wow. Nice and 'deployment friendly' there with all those ~'s all over the place. </sarcasm>

msg4karth
New Contributor III

Thanks bpavlov, useful information. Yes i already tried these comment line; badluck for me, its not getting updated, leaving one line message in the log.

On system.log
Jun 4 21:02:42 gssa00.xxx.xxxxxxxxx.com sudo[5752]: gsskrajh : TTY=ttys000 ; PWD=/Users/gsskrajh ; USER=root ; COMMAND=/usr/sbin/installer -dumplog -verbose -pkg /Users/gsskrajh/Downloads/bjnplugin_2.100.53.8.pkg -target / -allowUntrusted

On Var/Log/install.log
Jun 4 19:38:28 gssa00.xxx.xxxxxxxxx.com Installer[4156]: Product archive /Users/gsskrajh/Downloads/bjnplugin_2.100.53.8.pkg trustLevel=202

davidacland
Honored Contributor II

@mm2270 I'm amazed the script runs at all!

The script isn't doing anything particularly useful, I would just re-package it, either without the script or with your own modified one.

Here's my take on the key bits:

# Remove old plugin
rm -rf ~/Library/Internet Plug-Ins/bjnplugin_*
rm -rf ~/Library/Internet Plug-Ins/bjninstallplugin_*

This is just deleting anything in the users home Library/Internet Plugins folder that starts with bjnplugin_ or bjninstallplugin_. Not really needed as the installer would replace the files, unless the names don't match (I can see the ones being deleted have a trailing _).

if [ ! -d  ~/Library/Internet Plug-Ins ]; then 
    mkdir ~/Library/Internet Plug-Ins
fi

This makes a folder if not already present. Not needed as a pkg would do this anyway.

# Install new plugin
mv -f bjnplugin* ~/Library/Internet Plug-Ins/
mv -f bjninstallplugin* ~/Library/Internet Plug-Ins

This copies the plugin into place. It would make more sense to have the pkg put the files into the right place from the start, I can only assume they are doing this because its going into the users home directory. There is a top level /Library/Internet Plugins so not sure why it needs to be in the user home. If for some reason it does, a .dmg installer using FUT & FEU would work.

# FF workaround - explicitly change date modified/permissions to ensure that
# FF will pick up new version of plugin right away
touch ~/Library/Internet Plug-Ins/bjnplugin_*
chmod 755 ~/Library/Internet Plug-Ins/bjnplugin_*

Firefox workaround I assume? I'm sure a browser restart would be enough. The date modified and permissions should be correct on the pkg payload rather than having to "fix" them afterwards.

xattr -r -d com.apple.quarantine ~/Library/Internet Plug-Ins/bjnplugin_2.100.53.8.plugin/Contents/Resources/Blue Jeans Meeting Launcher.app

Shouldn't normally be needed, unless its been downloaded as a plain pkg form the web.

open ~/Library/Internet Plug-Ins/bjnplugin_2.100.53.8.plugin/Contents/Resources/Blue Jeans Meeting Launcher.app
open -a Blue Jeans Meeting Launcher

Opens the new app. Could have that as part of the policy if it is needed at all.

kill $PPID

Not sure why this is here. Installers would normally quit at the end of the installation process.