Need to Install Outlook Add-In as User through SCCM

Topics: Archive - General
Mar 17, 2014 at 1:02 AM
Hi Everyone,

I'm pretty new to the PS App Deployment Toolkit and have run into an issue with using SCCM. I have a situation where we are trying to install the GlobalMeet Toolbar for Outlook (Audio Conferencing Solution). The toolbar needs to be run as the user so it installs to the correct profile. If I run the Application-Deployment.exe elevated locally as my user account, it works perfectly. When we push it out with SCCM as described in the document, the user will see the prompt to close Outlook and get the installation progress window and balloon notification, but after a few minutes the installation fails. It looks like SCCM is trying to run the package as SYSTEM, but because it has to be run as the user, it is failing. If we tell SCCM to run it as the user account, it doesn't have the access to do so. It seems like we are stuck in a permissions loop.

Has anyone ever ran into a similar situation or have any suggestions? Just a side note, I'm not the SCCM administrator so it's possible that it was not set up properly. I will be checking that first thing tomorrow.

Thanks in advance!
Mar 19, 2014 at 12:54 PM
Did you create it as an application or a package?
Did you have installation behavior for user, and only run while user is logged on?
Also I would put in Show-InstallationWelcome -CloseApps "outlook.exe"
Mar 19, 2014 at 1:15 PM
It was created as a package as per the Admin Guide and the package is set to run only when the user is logged in. I basically followed the Adobe Reader example from the guide. The Show-InstallationWelcome -CloseApps is part of the pre-installation step and it works great if I run locally on my computer with local admin rights.

For whatever reason the application we are installing has to be run as the user because it is profile specific, however, we do not provide our users local admin rights to their machines and the toolkit needs to be run with elevated permissions. If the SCCM package run mode is set to run as administrator, the package will not install correctly (again, because its profile specific). If the run mode is set to run as the user, it will fail because the user doesn't have admin rights to run PowerShell. So I pretty much think we are SOL and have a backup deployment that will work. The deployment toolkit just made it look more professional from a user perspective. Thanks for the reply!
Coordinator
Mar 19, 2014 at 1:44 PM
This is still feasible but you need to has a trick to swap out from using SYSTEM into the user with elevated credentials. More details here: https://psappdeploytoolkit.codeplex.com/discussions/465270

Should work.

Hope this helps. Dan
Coordinator
Mar 19, 2014 at 5:58 PM
Another option here is to switch off the admin requirement in the toolkit Config file provided the application itself doesn't need admin rights. You lose some functionality in the toolkit like deferrals and blockexecution.

Seán

Mar 19, 2014 at 6:03 PM
Thanks Dan and Seán. I really appreciate the suggestions.

Seeing how we aren't using deferrals or blockexecution and the app can be run with user permissions, this might be a good short term solution given our timeline. We are going to look into using MDT for future deployments where we would run into similar scenarios.
Mar 20, 2014 at 1:32 PM
Msanzari can you post your script when you get it working? I'd like to see a user based install.
Mar 20, 2014 at 4:03 PM
So changing the requireadmin to false in the config file did the trick. The .exe that we are running will install 3 tools but we only want one of them, which is the toolbar that gets installed for Outlook. So the parameters we pass to it will install it silently and disable auto-updates as well as the other 2 tools we don't want to install. Also, for whatever reason the .exe throws exit code 1 even though the install is successful so you'll see the ignoreExitCodes flag in there. The pieces below are really the only thing I changed in the adobe reader example script that came with the toolkit. It's super basic but looks much better than what we originally had from a user perspective.

*===============================================

* PRE-INSTALLATION

If ($deploymentType -ne "uninstall") { $installPhase = "Pre-Installation"

*===============================================

# Prompt the user to close the following applications if they are running:
Show-InstallationWelcome -CloseApps "OUTLOOK"
# Show Progress Message (with the default message)
Show-InstallationProgress 

*===============================================

* INSTALLATION

$installPhase = "Installation"

*===============================================

# Install the base MSI
Execute-Process -FilePath "GlobalMeet_Desktop_Tools_Setup.exe" -Arguments '-i silent -D$AS$=false -D$OT$=true -D$GMD$=false -D$cfu$=false' -IgnoreExitCodes "1,2"
# -D$AS$=false -D$OT$=true -D$GMD$=false -D$cfu$=false

*===============================================

* POST-INSTALLATION

$installPhase = "Post-Installation"

*===============================================

#Notify the user that the installation is complete and Outlook will open
Show-InstallationPrompt -Message "The installation is complete. Please open Outlook." -Icon "Information" -ButtonRightText "OK" -PersistPrompt