Installing Windows 10 App with powershell remoting

6

I've been trying to no avail to install a Windows 10 universal app with powershell remoting. I've tried all i can think of so now I'm turning to you hoping that someone can provide me with an answer or explanation as to why my approach isn't working. Alternative solutions is also appreciated.

Essentially what i want to do is to be able to install a Windows 10 app remotely and my approach consists of downloading the file to the target computer and using powershell remoting to run the install. This is a boiled down version of my script:

$computerName = 'XYZ'
$userName = 'abc'
$newCred = Get-Credential "$computerName\$userName"
$newSession = New-PSSession -ComputerName $computerName -Credential $newCred -ErrorAction Stop
Invoke-Command -Session $newSession -ErrorAction Stop -Verbose -Scriptblock {   

function installApp($srcDirectory) {
     $installer = Get-ChildItem "$srcDirectory\App.Test*\Add-AppDevPackage.ps1" | Select-Object -ExpandProperty FullName        
     &($installer)             
}

$srcDirectory =  "$($env:TEMP)/TestApp"
    installApp($srcDirectory)
}

Remove-PSSession $newSession

Essentially all it tries to do is to run the generated script that were generated in visual studio in order to install the app. But when i run it i get the following:

Installing app...

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF6, Det gick inte att registrera paketet.

error 0x80070005: Adding a tile failed with unexpected error.

NOTE: For additional information, look for [ActivityId] a3f9b89b-3292-000113ea-f9a39232d101 in the Event Log or use the command line Get-AppxLog -ActivityID a3f9b89b-3292-0001-13ea-f9a39232d101

At  C:\Users\abc\AppData\Local\Temp\App\TestApp_1_0_0\Add-AppDevPackage.ps 1:392 char:13
+             Add-AppxPackage -Path $DeveloperPackagePath.FullName -
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          :     (C:\Users\abc..._arm.appxbundle:String) [Add-AppxPackage], IOException
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

Error: Could not install the app.

And the output from Get-AppxLog -ActivityID a3f9b89b-3292-0001-13ea-f9a39232d101 is:

Time                      ID           Message                                                                                                                          
----                      --           -------                                                                                                                          
2015-12-10 10:45:39       301          The calling process is wsmprovhost.exe                                                                                           
2015-12-10 10:45:39       603          Started deployment Add operation on a package with main parameter: Test.App_1.1.1.0_x86_x64_arm.appxbundle and Options: Fo
                                       rceApplicationShutdownOption. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.       
2015-12-10 10:45:40       164          The app bundle signature was validated for core content of the app bundle published by CN=xxx. App packages won't be validated 
                                       until they are read.                                                                                                             
2015-12-10 10:45:40       391          The bundle streaming reader was created successfully for bundle 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutra
                                       l_~_m042xdac27ax6.                                                                                                               
2015-12-10 10:45:40       10002        Creating Resiliency File C:\ProgramData\Microsoft\Windows\AppRepository\d195e8d8-35c4-4b85-bb4f-d99c525791c1_S-1-5-21-3220428687-
                                       2095128414-3811769907-1077_1.rslc for Add Operation on Package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral
                                       _~_m042xdac27ax6.                                                                                                                
2015-12-10 10:45:40       607          Deployment Add operation on package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xdac27ax6 has been d
                                       e-queued and is running for user XYZ\abc.                                                                    
2015-12-10 10:45:40       613          Adding uri to the list of Uris: file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1
                                       .1.1.0_Test/Test.App_1.1.1.0_x86_x64_arm.appxbundle.                                                                      
2015-12-10 10:45:40       614          Bundle Uri file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1.1.1.0_Test/Artologik
                                       .Kiosk_1.1.1.0_x86_x64_arm.appxbundle contains packages: "Test.App_1.1.1.0_x86.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.TestApp
                                       _1.1.1.0_x86__m042xdac27ax6 "Test.App_1.1.1.0_x64.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_
                                       1.1.1.0_x64__m042xdac27ax6 "Test.App_1.1.1.0_ARM.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_arm__m0
                                       42xdac27ax6.                                                                                                                     
2015-12-10 10:45:40       157          The app package signature was validated for core content of the app package published by CN=xxx. Payload won't be validated unt
                                       il the files are read.                                                                                                           
2015-12-10 10:45:40       170          The streaming reader was created successfully for app package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m04
                                       2xdac27ax6.                                                                                                                      
2015-12-10 10:45:40       613          Adding uri to the list of Uris: file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1
                                       .1.1.0_Test/Test.App_1.1.1.0_x86_x64_arm.appxbundle\Test.App_1.1.1.0_x86.appx.                                     
2015-12-10 10:45:41       446          GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1
                                       .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.                                                          
2015-12-10 10:45:41       446          GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1
                                       .1.1.0_x86__m042xdac27ax6 and reference string: xxx failed.                                                                    
2015-12-10 10:45:41       446          GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1
                                       .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.                                                          
2015-12-10 10:45:41       446          GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1
                                       .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.                                                          
2015-12-10 10:45:41       446          GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1
                                       .1.1.0_x86__m042xdac27ax6 and reference string: default.html failed.                                                             
2015-12-10 10:45:42       10000        About to service package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6. Setting the package state
                                        to disabled returned with 0x80070490.                                                                                           
2015-12-10 10:45:42       827          Capability parsing started for the package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6         
2015-12-10 10:45:42       5060         error 0x80070005: Adding a tile failed with unexpected error.                                                                    
2015-12-10 10:45:42       303          error 0x80070005: While preparing to process the request, the system failed to register the windows.visualElements extension due 
                                       to the following error: Access is denied.                                                                                           
                                       .                                                                                                                                
2015-12-10 10:45:42       300          error 0x80070005: Cannot register the 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_m042xdac27ax6 package due to the followi
                                       ng error: Access is denied.                                                                                                         
                                       .                                                                                                                                
2015-12-10 10:45:42       605          The last successful state reached was ResolvedDeferredRegistrations. Failure occurred before reaching the next state Registration
                                       Changed.                                                                                                                         
2015-12-10 10:45:42       472          Moving package folder \\?\C:\Program Files\WindowsApps\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042x
                                       dac27ax6 to \\?\C:\Program Files\WindowsApps\Deleted\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xda
                                       c27ax67380de84-c8fa-4c14-a532-e6f2a1242a48. Result: 0x0.                                                                         
2015-12-10 10:45:42       472          Moving package folder \\?\C:\Program Files\WindowsApps\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27
                                       ax6 to \\?\C:\Program Files\WindowsApps\Deleted\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax60605
                                       8072-2034-461b-a9ba-a085b10152a7. Result: 0x0.                                                                                   
2015-12-10 10:45:42       10001        Finished servicing package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6. Setting the package sta
                                       te to enabled returned with 0x0.                                                                                                 
2015-12-10 10:45:42       401          Deployment Add operation with target volume C: on Package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m0
                                       42xdac27ax6 from:  (Test.App_1.1.1.0_x86_x64_arm.appxbundle)  failed with error 0x80073CF6. See http://go.microsoft.com/fw
                                       link/?LinkId=235160 for help diagnosing app deployment issues.                                                                   
2015-12-10 10:45:42       404          AppX Deployment operation failed for package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xdac27ax6 w
                                       ith error 0x80073CF6. The specific error text for this failure is: error 0x80070005: Adding a tile failed with unexpected error.

Any help at all is really appreciated. I mean it! Any at all, suggestions, workarounds, pagan rituals, crystals,...

powershell
installation
uwp
powershell-remoting
asked on Stack Overflow Dec 10, 2015 by Magnus • edited Aug 23, 2016 by DdW

3 Answers

3

I was running into the exact same error. I was trying to install over Cygwin SSH instead of Powershell remoting, but I suspect the root cause is similar.

I was able to work around this by setting up a scheduled task which runs a Powershell script at a well-known location. (I made the scheduled task be run with the highest possible privileges, though I'm not sure if that's necessary.) I could then remotely set the contents of this Powershell script to run the app installation script, and then launch the scheduled task using schtasks, which worked like a charm.

answered on Stack Overflow Mar 28, 2016 by Shoaib
1

I was stuck exactly in the same problem for a few days. After found this thread and read the Shoaib's answer, I started playing with scheduled tasks and finally write a script that works for me. I found a lot of problems with tasks and Add-AppxPackage and realize that you must configure the task with "User must be logged" option (sorry, spanish version). Add-AppxPackage needs the user must be logged to Works, which maybe explains why doesn't works with Invoke-Command.

$adminUser = "user@domain"
$adminPass = "xxxxxxx"

$pw = ConvertTo-SecureString -AsPlainText -Force -String $adminPass
$cred = New-Object -Typename System.Management.Automation.PSCredential -ArgumentList $adminUser, $pw

$command = "Add-AppxPackage -Path '\\path\App.appxbundle'"
$bytes = [Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)

$remoteUser = "userLogged@domain"
$remoteComputer = "192.168.0.50"

$taskName = "Task"
$taskCommand = "powershell.exe"
$taskArg = "-noprofile -noninteractive -windowstyle hidden -executionpolicy bypass -encodedCommand ""$encodedCommand"""

$taskAction = New-ScheduledTaskAction -Execute $taskCommand -Argument $TaskArg
$taskTrigger = New-ScheduledTaskTrigger -At 9am -Once
$taskPrincipal = New-ScheduledTaskPrincipal -UserID $remoteUser -LogonType Interactive -RunLevel Highest

$cimSession = New-CimSession -ComputerName $remoteComputer -Credential $cred -Authentication Negotiate

Register-ScheduledTask -Action $taskAction -Trigger $tasktrigger -TaskName $taskName -Principal $taskPrincipal -CimSession $cimSession

Start-ScheduledTask -CimSession $cimSession -TaskName $taskName

Sleep 5

Get-ScheduledTask -CimSession $cimSession | Where-Object {$_.TaskName -eq $taskName} | Unregister-ScheduledTask -CimSession $cimSession -Confirm:$false
answered on Stack Overflow Feb 9, 2017 by cgonzalezr
0

So yeah, as Shoaib already pointed out, scheduled task would do the trick. You could also try starting the remote process through WMI like so:

Invoke-WmiMethod -Class win32_process -name Create -ComputerName dflt -Credential $cred -ArgumentList "powershell.exe -noprofile -noninteractive -executionpolicy bypass -encodedCommand 'your encoded command goes here'" 

You could also try launching another powershell process from within ps session (supplying another users credentials) and passing command to that process (pretty similar to WMI method, but from PSSession).

Did you already try to just invoke-command on remote machine? that might work (althou I doubt it).

You could use Desired State Configuration to achieve what you need, but that's a bit overkill (but should work 101%). There's supposed to be a script provider for DSC.

answered on Stack Overflow Mar 31, 2016 by 4c74356b41

User contributions licensed under CC BY-SA 3.0