3CX Desktop App cannot be installed system-wide anymore

Status
Not open for further replies.

Christian_B

Forum User
Joined
Feb 24, 2021
Messages
32
Reaction score
12
Version 18.10.461 apparently ignores the request to install system-wide into the programs folder but installs straight to the user's (admin in this case ) profile.
msiexec /i 3CXDesktopApp-18.10.461.msi ALLUSER=1 ALLUSERS=1 /qn /norestart

With 18.8.508 this was not a problem:
msiexec /i 3CXDesktopApp-18.8.508.msi ALLUSER=1 ALLUSERS=1 /qn /norestart
 
It's still possible if it's executed as SYSTEM, for example, using psexec -s. Just running it in a privileged CMD is not sufficient anymore.
 
I wasn't referring to mass deployment, just installing it on a single client manually. There's always a special case, you know? Had I used our software deployment system - nothing GPO based - it would have actually worked and why would not have noticed.
 
Then for a single deployment method just use the webclient to download the app install and provision it. No need to complicate matters :)
 
The reason behind is Software Restriction Policies (SRP), so that is not an option. Also it would still install in the user profile. If you'd like some advice too: Look how Chrome handles automatic updates. It's perfectly compatible with SRP and requires neither user or admin intervention and no GPOs at all.
 
  • Like
Reactions: Evolute IT
I've had no issues with installing the v.18.10.461 of the Desktop App in the per-machine installation context, as a standard admin (not SYSTEM), with the following command:
Code:
msiexec.exe /i 3CXDesktopApp-18.10.461.msi ALLUSERS=1 /qn /norestart

As an FYI, the ALLUSER property you're including is not a standard/default MSI property. It's not found in the 3CX MSI installer either so it would have no effect. That is a custom property Microsoft only recently started using - instead of ALLUSERS - for some of their installation packages, the Microsoft Teams desktop app in particular. That said, the install won't fail because you have included it. My test with your command still successfully installed it system-wide.

You could try using the MSIINSTALLPERUSER property with the install instead of manipulating ALLUSERS:
Code:
msiexec.exe /i 3CXDesktopApp-18.10.461.msi MSIINSTALLPERUSER="" /qn /norestart

In the 3CX MSI installer, ALLUSERS has a default value of 2 and MSIINSTALLPERUSER has a default value of 1, which together runs the installer in the per-user installation context. Setting MSIINSTALLPERUSER to an empty string, while leaving ALLUSERS set to 2, will run the installer in the per-machine context. This would be the equivalent of setting ALLUSERS to 1, which if it is set to 1 the MSIINSTALLPERUSER property is ignored. Using ALLUSERS=1 should be sufficient to install in the per-machine context. However, even though it's unnecessary, you could be doubly sure to run the install in the per-machine context by including MSIINSTALLPERUSER="" with ALLUSERS=1.

In summary, I can successfully install the app system-wide using any of the following commands:

Code:
msiexec.exe /i 3CXDesktopApp-18.10.461.msi ALLUSERS=1 /qn /norestart
msiexec.exe /i 3CXDesktopApp-18.10.461.msi MSIINSTALLPERUSER="" /qn /norestart
msiexec.exe /i 3CXDesktopApp-18.10.461.msi MSIINSTALLPERUSER="" ALLUSERS=1 /qn /norestart
Hi, if I install 3CXDesktopApp-18.12.425.msi with these Options and as User SYSTEM (because it is deployed via RMM) the installer give me a 1603 error.
Only when I install it as an admin user, it is working. But this is not a usable solution for mass-deployment.

Any ideas? Are there switches to prevent the setup to start the 3cx client after installation?
 
Hi,
I have all tried this. I have several points in the MSI changed or deleted. Under an admin-user it installs perfectly and not starts any Exec Target.

But under user SYSTEM it fails with 1603, no matter what I try with transforms.
 
Hey imperator,

I have tried the following. Here is my batchfile for testing:
@echo off cd c:\workspace\3CX start "MSI_Installer" /wait msiexec.exe /l*v msi.log /qn /norestart /i 3CXDesktopApp.msi TRANSFORMS="3CXDesktopAppKopie2.mst" MSIINSTALLPERUSER="" ALLUSERS=1 echo %ERRORLEVEL%

I have run it as an privileged admin. I get errorcode 0 and it installs successfully, without starting any external programs. I have saved this installation as msi_asprivadmin.log and uploaded it here.

Now I switch over to SYSTEM Account with:
psexec -s cmd.exe

And run the batch again. (yes I have uninstalled the app before)
Get 1603 and saved the log as msi_assystem.log

When I looked into, it seems that the installer is tryind to do a WixShellExec. But the strange thing here is, the other logfile (as admin) has not noted about any external execution at all.


Code:
MSI (s) (A0:84) [13:58:04:412]: Note: 1: 2265 2:  3: -2147287035
MSI (s) (A0:84) [13:58:04:616]: User policy value 'DisableRollback' is 0
MSI (s) (A0:84) [13:58:04:616]: Machine policy value 'DisableRollback' is 0
MSI (s) (A0:84) [13:58:04:662]: Note: 1: 2265 2:  3: -2147287035
MSI (s) (A0:84) [13:58:04:662]: Backup folder is created by user
MSI (s) (A0:84) [13:58:04:741]: No System Restore sequence number for this installation.
MSI (s) (A0:84) [13:58:04:741]: Unlocking Server
MSI (s) (A0:84) [13:58:04:756]: PROPERTY CHANGE: Deleting UpdateStarted property. Its current value is '1'.
MSI (s) (A0:84) [13:58:04:756]: Doing action: LaunchApplication
Action ended 13:58:04: InstallFinalize. Return value 1.
MSI (s) (A0:8C) [13:58:04:787]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIAD39.tmp, Entrypoint: WixShellExec
Action start 13:58:04: LaunchApplication.
WixShellExec:  Error 0x80070002: ShellExec failed with return code 2.
WixShellExec:  Error 0x80070002: failed to launch target
CustomAction LaunchApplication returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 13:58:04: LaunchApplication. Return value 3.
Action ended 13:58:04: INSTALL. Return value 3.

He should not do this, because of the transform file, that deletes LaunchApplication.
 

Attachments

Last edited:
Maybe you have an idea to suppress the external launch, when installed a user SYSTEM?
 
I have found something in the log:
Code:
MSI (s) (9C:58) [14:20:23:586]: PROPERTY CHANGE: Deleting TRANSFORMS property. Its current value is 'c:\workspace\3cx\3CXDesktopAppKopie2.mst'.
MSI (s) (9C:58) [14:20:23:586]: TRANSFORMS property is now:

This is only when I try to install als system. In the log file of the admin install, the transform file will be accepted.
 
oha.. now it is working!

The problem was not the options or the transforms file.

The problem was, that I have tried to install the msi as system user without any options at first. It fails with 1603. And there is now an incomplete install of the msi. Any furthur execution to install this package uses the cached properties and ignores new properties at the cmd line.

I want to use msizap.exe to clean up the registry, but I cannot find this tool in the internet anymore.

So I have cleanup the registry manually from "3CX Desktop App" and "3cxdesktopapp.msi". Rebooted the system. Tried again with the correkt install-line (see above) and it just works. Errorcode 0 and install succeeded.
 
Status
Not open for further replies.

Forum statistics

Threads
112,025
Messages
590,365
Members
164,976
Latest member
Roman Mazur