SCCM Manual Configuration

  1. On your distribution point, expand the Package to your shared folder.

  1. Create the following PowerShell script in the folder install-LogiSyncPersonalCollab.ps1

    $Error.Clear()
    
    If (!$PSScriptRoot) {
    
        $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
    
    }
    
    $ExitCode = $Null
    
    $xcopy = $null
    
    [int]$Success = 0
    
    [int]$JSONFilesNotPresent = 100
    
    [int]$msiInstallFailed = 101
    
    [int]$FileCopyFailed = 102
    
    [int]$ProvisionFileNotFound = 110
    
    [int]$ProvisionStarted = 120
    
    [int]$ProvisionCompleted = 130
    
    [int]$ProvisionFailed = 140
    
    [int]$BundleFileNotFound = 150
    
    [int]$BundleInstallStarted = 160
    
    [int]$BundleInstallCompleted = 170
    
    [int]$BundleInstallFailed = 180
    
    [int]$NoMsiExec = 2146233079
    
    [int]$InstallerNotFound = 1619
    
    if (((Get-ChildItem -Path $PSScriptRoot -Filter "*.json").count) -ne 2) {
    
        Write-Host $JSONFilesNotPresent
    
        exit $JSONFilesNotPresent
    
    }
    
    try {
    
        $installer = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i $PSScriptRoot\LogiSyncPersonalCollab.msi /qn" -Wait -PassThru -ErrorAction Stop
    
        if ($Installer.ExitCode -eq 0) {
    
            $error.Clear()
    
            & 'xcopy' '.\*.json' "c:\programdata\LogiSyncPersonalCollab\" '/q/y'  | Tee-Object -Variable xcopy | Out-Null #bug with copy-item and *.json, have to use xcopy
    
            $xcopy
    
            if ($xcopy -like "2 File(s) copied") {
    
                Write-Host 0
    
            }
    
            else {
    
                Write-Host "102"
    
                exit 102
    
            }
    
            while ((Test-Path "$ENV:ProgramData\LogiSyncPersonalCollab\setup.txt" -PathType Leaf) -eq $false) { 
    
                Start-Sleep -Seconds 2
    
            }
    
            while (("Success", "ProvisionFailed", "BundleInstallFailed" -contains (Get-Content "$ENV:ProgramData\LogiSyncPersonalCollab\setup.txt") ) -eq $False) {
    
                Start-Sleep -Seconds 30
    
            }
    
            $ExitCode = Get-Variable -Name $(Get-Content "$ENV:ProgramData\LogiSyncPersonalCollab\setup.txt") -ValueOnly  
    
            Write-Host $ExitCode
    
            exit $ExitCode
    
        }
    
        else {
    
            Write-Host $installer.ExitCode
    
            exit $installer.ExitCode
    
        }
    
    }
    
    catch {
    
        Write-Host $([Math]::abs($Error[0].Exception.HResult))
    
        exit  $([Math]::abs($Error[0].Exception.HResult))
    
    }

  2. Within Applications create a new application.

  3. Choose to Manually specify the application information.

  4. Find the information you need to enter on the following tabs:

  • General Information Tab:

Name: Logitech Sync for Personal Collaboration

Administrator Comments: Connects personal collaboration B2B and Dock to Logitech Sync Cloud

Publisher: Logitech

Software Version: from MSI info details

Administrative Category: Logitech Personal Collaboration


  • Software Center:

User Category: Logitech Personal Collaboration

Description: Connects personal collaboration B2B and Dock to Logitech Sync Cloud.

Privacy URL: https://www.logitech.com/en-us/legal/product-privacy-policy.html

Keywords: Logitech, Sync, Personal Collaboration, Tune


  • Add a new Deployment Type: Change the type to Script Installer.

  • General:

Name: Logi Sync Personal Collaboration Bundle

Administrator Comments: Uses PowerShell to Install application. Copies Provisioning JSON files and returns install status.

  • Content:

Browse to the Content location of the LogiSyncPersonnalCollabBundle

Installation Program: PowerShell.exe -executionPolicy ByPass -File install-LogiSyncPersonalCollab.ps1

Uninstall Program: msiexec /x {9C660568-EA87-4F42-8CF1-7183B7D49457} /q


  • Detection Method:

Add Rule

Setting Type: Windows Installer

Product Code: {9C660568-EA87-4F42-8CF1-7183B7D49457}

Select This MSI product code must exist on the target system to indicate presence of this application. The Agent auto updates but the Product code stays the same.

  • User Experience:

Installation Behavior: Install for System

Logon Requirement: Only when a user is logged on.

Click Next to finish.

  • Deployment Types: 

Go to the Properties of the Logitech Sync for Personal Collaboration🡪Deployment Types🡪Edit the Properties for the Logi Sync Personal Collaboration Bundle.

  • Content Tab: Set the Uninstall content setting to No uninstall content.

  • Programs Tab: Set Product Code to {F4A08845-58F5-4400-A894-35F5242B4DFA}


  • User Experience Tab:

Set the Should Configuration Manager enforce specific behavior regardless of the application’s intended behavior? field to No specific Action.


  • Return Codes Tab:

Note: All code types are Failure (no reboot).

Add the following entries:

Code

Name

Description

100

JSONFilesNotPresent

The two required JSON files could not be found.

102

FileCopyFailed

JSON files did not copy to programdata\LogiSyncPersonalCollab

110

ProvisionFileNotFound

The installer could not find the provisioning file ProvisioningToken.json

120

ProvisionStarted

Transient State, should not exit here

130

ProvisionCompleted

Transient State, device connected to sync cloud

140

ProvisionFailed

Could not connect to Sync Cloud

150

BundleFileNotFound

The installer could not find the provisioning file LogiAppsBundle.json

160

BundleInstallStarted

Transient State, should not exit here

170

BundleInstallCompleted

Transient State, Tune app installed

180

BundleInstallFailed

Could not install Tune application

2146233079

NoMsiExec

Could not find or execute Msiexec.exe

1619

InstallerNotFound

msiexec.exe could not find LogiSyncPersonalCollab.msi

  • Requirements or Dependencies: N/A.

AI assisted translation
Menu