US English (US)
ES Spanish

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

  • Contact Us
English (US)
US English (US)
ES Spanish
  • Home
  • Password Boss Knowledgebase
  • Password Boss Partner Documents
  • INSTALLING PASSWORD BOSS

Windows

Use the instructions below to manually install the Password Boss app

Written by Owen Parry

Updated at August 6th, 2024

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

  • AutoElevate Knowledgebase
    New to AutoElevate? START HERE General & Troubleshooting Managing Rules Integrations Announcements FAQ Sales & Marketing
  • Password Boss Knowledgebase
    Using Password Boss Business Administration Password Boss Partner Documents
  • Changelogs for Autoelevate and Password Boss
  • Current Status
  • Marketing Toolkit
    MSP Marketing & Education Toolkit
+ More

Table of Contents

Quick Notes - Read First Installing the Windows app Prerequisites - Windows Manual Install RMM Deployment Deploying Password Boss via RMM is a 2 step process Generic Scripted Deployment Instructions Note - Case SeNsiTiVe EXE PowerShell Script Instructions Deployment of Password Boss via PowerShell is a 2 Step Process

Quick Notes - Read First

When installing via an RMM, keep these details in mind.   
The RMM installation process is split into two pieces.

  1. A pre-installer that needs to run with admin rights can run at any time, meaning the user does not need to be logged in. 
  2. The actual Password Boss application installer. The app is installed into the user's Windows profile directory, this means the user must be logged in to install Password Boss. The user does NOT need admin rights if the pre-installer and prerequisites have already run on the PC.
 

Installing the Windows app

  • The Password Boss Windows installer is available as both an EXE and an MSI.
  • Both versions of the installer can be installed silently by adding the command line parameters listed below to the installer.
  • The initial install requires admin rights for the user unless you use the PreInstaller via an RMM or other deployment tool in which case the Password Boss app can be installed without admin rights.
  • Subsequent updates to the app once it is installed do not require admin rights.
    • The Windows installer (both EXE and MSI versions) is a 2-part installer. The stub installer, EXE or MSI, rarely changes and can be added to your deployment tools. When the stub installer runs it will download the latest version of the actual application from our servers so each install is always installing the latest version of the app.

Prerequisites - Windows

Password Boss requires .Net 4.7.2** to be installed on each workstation. The application will be installed automatically during a manual install.

If you are deploying with an RMM or other scripted install where the end-users do not have admin rights to their workstations, you will want to ensure these applications are installed before deploying Password Boss.

 

Manual Install

  1. Visit https://www.passwordboss.com/download. The website will detect which operating system you are using and will download the correct installer for you.
  2. After downloading the installer, run the file and follow the prompts to install.

RMM Deployment

Deploying Password Boss with your RMM removes the requirement that the end-users need admin rights for the install. The installation process is a two-step process where the portions of Password Boss that require admin rights are installed using the PreInstaller, which runs as an admin or Local System, and the main client app installer that runs as the end-user.

  • The PreInstaller can be run in bulk on all managed workstations before the actual client app deployment.
  • The PreInstaller has no UI, installs silently, and will not be listed in Add/Remove Programs.
  • The PreInstaller makes all of the registry changes that need admin rights. The PreInstaller MUST be run with admin or Local System permissions
  • The settings changed by the PreInstaller can be removed by running the PreInstaller with a /uninstall switch.

Deploying Password Boss via RMM is a 2 step process

Step 1 - Deploy PBPreInstaller.exe as admin or system. 
Step 2 - Deploy Password_Boss.exe (or .msi) as the end-user while they are logged in. Do not deploy Password_Boss.exe as admin or system.

 

Install Steps

  1. Download the PreInstaller 
  2. Run the PreInstaller once per managed workstation using your RMM. No command lines or parameters are needed for the installation.
    • If needed for troubleshooting, you can enable logging for the PreInstaller by adding a /verbose parameter. Logs are stored in the %TEMP% folder and named PasswordBoss-PreInstall-[Date]{Time].log.
  3. Install the client app using the instructions below for either EXE or MSI deployment. The client app MUST be run as the end-user, or the application will not work for the user.

Generic Scripted Deployment Instructions

MSI

  1. Download the MSI installer
  2. The installer should be named Password_Boss.msi
  3. To run the installer silently, add the EXEOPTIONS=" /q2" parameter when you execute the installer:
Text

/path/to/Password_Boss.msi EXEOPTIONS="/q2" 

**replace the "/path/to" with the path to where you downloaded the file to**

Note - Case SeNsiTiVe

EXEOPTIONS must be passed as UPPERCASE.

 
  1. To deploy the Password Boss app to remote devices, invoke the installer with the silent option from your preferred software distribution solution.
  2. The installer will automatically download the latest version of Password Boss from the internet during the install process so your users are always installed with the current version.

EXE

  1. Download the EXE installer
  2. The installer is named Password_Boss.exe
  3. To run the installer silently, add the /q2 parameter when you execute the installer:
Text

/path/to/Password_Boss.exe /q2

**replace the "/path/to" with the path to where you downloaded the file to**
  1. To deploy the Password Boss app to remote devices, invoke the installer with the silent option from your preferred software distribution solution.
  2. The installer will automatically download the latest version of Password Boss from the internet during installation, so your users always get the current version.

PowerShell Script Instructions

Password Boss can be deployed through PowerShell scrips as an alternative to building a script in an RMM tool.

Deployment of Password Boss via PowerShell is a 2 Step Process

Step 1 - Deploy PBPreClient.ps1 first as an administrator on the system
Step 2 - Deploy PBClient.ps1 as the end-user while they are logged in. Do not deploy Password_Boss.exe as admin or system.

 

Below is the PBPreClient.ps1 script. In your deployment system, you must run this script on the system first as an administrator before installing Password Boss. This script will download the PreInsaller.exe and deploy on the machine as Admin. Copy and paste the script below to a notepad and save the file as PBPreClient.ps1 before using it.

PBPreClient.ps1

# Copyright (c) 2024 Password Boss
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#    * Redistributions of source code must retain the above copyright
#      notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright
#      notice, this list of conditions and the following disclaimer in the
#      documentation and/or other materials provided with the distribution.
#    * Neither the name of the AutoElevate nor the names of its contributors
#      may be used to endorse or promote products derived from this software
#      without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL OPENDNS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<#
.SYNOPSIS
  Installs the Password Boss Preinstaller and Client
  #>

# Set $DebugPrintEnabled = 1 to enabled debug log printing to see what's going on.
$DebugPrintEnabled = 1

$PreInstallerName = "PBPreInstaller.exe"
$InstallerPath = Join-Path $Env:TMP $PreInstallerName
$DownloadBase = "https://install.passwordboss.com"
$DownloadURL = $DownloadBase + "/" + $PreInstallerName

$ScriptFailed = "Script Failed!"

function Get-TimeStamp {
    return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
}


function Debug-Print ($msg) {
    if ($DebugPrintEnabled -eq 1) {
        Write-Host "$(Get-TimeStamp) [DEBUG] $msg"
    }
}

function Get-PreInstaller {
    Debug-Print("Downloading installer...")
    $WebClient = New-Object System.Net.WebClient
    
    try {
        $WebClient.DownloadFile($DownloadURL, $InstallerPath)
    } catch {
        $ErrorMessage = $_.Exception.Message
        Write-Host "$(Get-TimeStamp) $ErrorMessage"
    }
    
    if ( ! (Test-Path $InstallerPath)) {
        $DownloadError = "Failed to download the Password Boss PreInstaller from $DownloadURL"
        Write-Host "$(Get-TimeStamp) $DownloadError"
        throw $ScriptFailed
    }
    
    Debug-Print("Installer downloaded to $InstallerPath...")
}
function Install-Agent () {
    Debug-Print("Executing installer...")
        
    Start-Process $InstallerPath -Wait
    }
		
function Verify-Installation () {
    Debug-Print("Verifying Installation...")
    
    if ( ! (Get-ItemPropertyValue -Path "HKLM:\Software\PasswordBoss" -Name "PreInstall") -eq 'True') {
        $VerifiationError = "The Preinstaller installation failed!"
        Write-Host "$(Get-TimeStamp) $VerificationError"
        
        throw $ScriptFailed
    }
}

function main () {   
    Get-PreInstaller
    Install-Agent
    Verify-Installation
    
    Write-Host "$(Get-TimeStamp) PBPreinstaller successfully installed!"
}

try
{
    main
} catch {
    $ErrorMessage = $_.Exception.Message
    Write-Host "$(Get-TimeStamp) $ErrorMessage"
    exit 1
}

Below is the PBClient.ps1 script. In your deployment system, you will need to run this script on the system as the logged-in user after successfully running the PBPreClient.ps1 script. This script will download the Password_Boss.exe file and execute it as the user. Copy and paste the script below to a notepad and save the file as PBClient.ps1 before using it.

 PBClient.ps1

# Copyright (c) 2022 Password Boss
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#    * Redistributions of source code must retain the above copyright
#      notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright
#      notice, this list of conditions and the following disclaimer in the
#      documentation and/or other materials provided with the distribution.
#    * Neither the name of the AutoElevate nor the names of its contributors
#      may be used to endorse or promote products derived from this software
#      without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL OPENDNS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<#
.SYNOPSIS
  Installs the Password Boss Preinstaller and Client
  #>

# Run powershell in a clean install
# PowerShell -ExecutionPolicy Bypass

# Set $DebugPrintEnabled = 1 to enabled debug log printing to see what's going on.
$DebugPrintEnabled = 1

$InstallerName =  "Password_Boss.exe"
$InstallerPath = Join-Path $Env:TMP $InstallerName
$DownloadBase = "https://install.passwordboss.com"
$DownloadURL = $DownloadBase + "/" + $InstallerName

function Get-TimeStamp {
    return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
}

function Debug-Print ($msg) {
    if ($DebugPrintEnabled -eq 1) {
        Write-Host "$(Get-TimeStamp) [DEBUG] $msg"
    }
}

function Get-Installer {
    Debug-Print("Downloading installer...")
    $WebClient = New-Object System.Net.WebClient
    
    try {
        $WebClient.DownloadFile($DownloadURL, $InstallerPath)
    } catch {
        $ErrorMessage = $_.Exception.Message
        Write-Host "$(Get-TimeStamp) $ErrorMessage"
    }
    
    if ( ! (Test-Path $InstallerPath)) {
        $DownloadError = "Failed to download the Password Boss Installer from $DownloadURL"
        Write-Host "$(Get-TimeStamp) $DownloadError"
        throw $ScriptFailed
    }
    
    Debug-Print("Installer downloaded to $InstallerPath...")
}
function Install-Agent () {
    Debug-Print("Executing installer...")
    
    $Arguments = "/q2"
    
    Start-Process $InstallerPath -ArgumentList $Arguments -Wait
    }
		
function Verify-Installation () {
    Debug-Print("Verifying Installation...")
  
    if ((Get-ItemProperty -Path "HKCU:\Software\PasswordBoss") -eq $null) {
        $VerifiationError = "The Installer installation failed!"
        Write-Host "$(Get-TimeStamp) $VerificationError"
        
        throw $ScriptFailed
    }
}

function main () {   
    Get-Installer
    Install-Agent
    Verify-Installation
    
    Write-Host "$(Get-TimeStamp) Password Boss Client successfully installed!"
}

try
{
    main
} catch {
    $ErrorMessage = $_.Exception.Message
    Write-Host "$(Get-TimeStamp) $ErrorMessage"
    exit 1
}

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Datto RMM
  • iOS and Android
  • Terminal Server / RDS
  • Mac
  • Products
    • Privileged Access Management
    • Password Management
  • Solutions
    • For MSPs
    • For IT Pros
    • By Industry
  • Resources
    • Weekly Demos
    • Events
    • Blog
    • FAQ
  • Company
    • Leadership
    • Culture + Values
    • Careers
    • Awards
    • News & Press
    • Trust Center
    • Distributors
  • Get Pricing
  • Free Trial
  • Request a Demo
  • Support
  • Login
  • Contact
4925 Independence Parkway
Suite 400
Tampa, FL 33634
CALL US (813) 578-8200
  • Link to Facebook
  • Link to Linkedin
  • Link to Twitter
  • Link to Youtube
© 2023 CYBERFOX LLC ALL RIGHTS RESERVED  |  Privacy Policy

Knowledge Base Software powered by Helpjuice

Expand