AppX/MSI deployment via BigFix Failing on Majority of Machines

I am attempting to deploy the Windows App (MSIX) using a bigfix fixlet.

the fixlet downloads the following files:

Microsoft.VCLibs.x64.14.10.Desktop.appx

Microsoft.UI.Xaml.2.8.appx

WindowApp_x64_Release_2.0.706.0.msix

The script then installs them using powershell and runas=currentuser

However, All of the machines fail with a “Path not found” error, even though the files appear to exist in the bigfix download directory on the users machines.

out of 40-50 machines tested, only 1-2 machines completed the action successfully. and i cant figure out why. ive been stuck on this for the past 2 days now.

this is the script i am using which worked on 2 machines .

override wait
runas=currentuser
wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxPackage -Path '{pathname of client folder of current site}__Download\Microsoft.VCLibs.x64.14.00.Desktop.appx' -ForceApplicationShutDown -ForceUpdateFromAnyVersion"
//installs UI XAML
override wait
runas=currentuser
wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxPackage -Path '{pathname of client folder of current site}__Download\Microsoft.UI.Xaml.2.8.appx' -ForceApplicationShutDown -ForceUpdateFromAnyVersion"
//installs Desktop App
override wait
runas=currentuser
wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxPackage -Path '{pathname of client folder of current site}__Download\WindowsApp_x64_Release_2.0.706.0.msix' -ForceApplicationShutDown -ForceUpdateFromAnyVersion"

I really need some help. When I push this to users I have it so user can see the powershell pop up so i can troubleshoot. when the powershell pops up and gives an error message

Add-AppxPackage : Cannot find path ‘C:\Program Files (x86)\Bigfix Enterprise\Bes Client\__BESData\actionsite\WindowsApp_X64_release)2.0.706.0.msix because it does not exist

Not sure why the error message has an extra ) symbol in the filepath, I'm going to assume a copy/paste error.

Have a look at Tip - Action Override User settings to see whether these tips are helpful. In particular, the interactive user will not have access to the BigFix download folders; you'll need to copy (not move, but copy) the download files to a path the user can read first, and then arrange the install commands to reference the files there.

Omg why didnt i think of that. I will test that on monday and keep you updated. you said copy and not move. umm so basically in my fixlet after it prefetches into the download folder i would need to copy that and move it to users temp or something?

yes, to the users temp or to c:\windows\temp is usually pretty safe as well.
The issue in Windows is that if you 'move' a file, the file keeps its original permissions from the source directory (so the user would still not have read access to the file). You need to 'copy' the file, so Windows treats the copy as a new file and it inherits the permission of the directory in which you are creating it.

Alright let me try this and also the windows app is a microsoft store app. A user must be logged into the machine in order for it to install correct?

I'll hope for someone else to answer that. Every time I've tried to deal with the microsoft store has been an exercise in frustration. If you figure it out, let me know.

You can use Add-AppxPackage with a logged-in user and a temporary folder copy, or use Provisioning to install the app for all users even when no one is logged in.

Try This:

ActionScript

// 1. Download files (ensure your prefetch is here)

// 2. Install Dependencies (Provisioned)
wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PackagePath '{pathname of client folder of current site}\__Download\Microsoft.VCLibs.x64.14.00.Desktop.appx' -SkipLicense"

wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PackagePath '{pathname of client folder of current site}\__Download\Microsoft.UI.Xaml.2.8.appx' -SkipLicense"

// 3. Install Main App (Provisioned)
wait powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PackagePath '{pathname of client folder of current site}\__Download\WindowsApp_x64_Release_2.0.706.0.msix' -SkipLicense"
2 Likes

i ran it like this

folder create "C:\Windows\Temp\WindowsAppInstall"

copy "__Download\Microsoft.VCLibs.x64.14.00.Desktop.appx" "C:\Windows\Temp\WindowsAppInstall\Microsoft.VCLibs.x64.14.00.Desktop.appx"
copy "__Download\Microsoft.UI.Xaml.2.8.appx" "C:\Windows\Temp\WindowsAppInstall\Microsoft.UI.Xaml.2.8.appx"
copy "__Download\WindowsApp_x64_Release_2.0.706.0.msix" "C:\Windows\Temp\WindowsAppInstall\WindowsApp_x64_Release_2.0.706.0.msix"
//installs Installs VLIBS App

waithidden powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PacakgePath 'C:\Windows\Temp\WindowsAppInstall\Microsoft.VCLibs.x64.14.00.Desktop.appx' -SkipLicense"
//installs UI XAML

waithidden powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PackagePath 'C:\Windows\Temp\WindowsAppInstall\Microsoft.UI.Xaml.2.8.appx' -SkipLicense"
//installs Desktop App

waithidden powershell.exe -ExecutionPolicy Bypass -Command "Add-AppxProvisionedPackage -Online -PackagePath  'C:\Windows\Temp\WindowsAppInstall\WindowsApp_x64_Release_2.0.706.0.msix' -SkipLicense"

so it successfully installed the Windows App for the user but those .appx files didn’t install. and the VClibs is needed in order for the app to launch

Forreal, I’ve been working on this for a whole week now

anyone have any suggestions?

I see a typo in your Powershell command for the 2 appx packages.

-PacakgePath should be -PackagePath so that would be preventing the command finding the source to install from

1 Like

Yeah i knew that lol. but for some reason its starting to work now.