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,...
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.
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
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.
User contributions licensed under CC BY-SA 3.0