attempt to implement test target for uwp. failing
This commit is contained in:
committed by
Joshua Granick
parent
2143343f96
commit
5a513c0ab5
@@ -105,8 +105,9 @@ class WindowsPlatform extends PlatformTarget {
|
|||||||
if (project.app.main != null) {
|
if (project.app.main != null) {
|
||||||
|
|
||||||
ProcessHelper.runCommand ("", "haxe", [ hxml ] );
|
ProcessHelper.runCommand ("", "haxe", [ hxml ] );
|
||||||
|
//ProcessHelper.runCommand("","MSBuild",[ targetDirectory + "/bin/source/uwp-project.jsproj", "/p:Configuration=Release", "/t:HelloWorld"]);
|
||||||
ProcessHelper.runCommand("","MSBuild",[ targetDirectory + "/bin/source/uwp-project.jsproj",
|
ProcessHelper.runCommand("","MSBuild",[ targetDirectory + "/bin/source/uwp-project.jsproj",
|
||||||
"/p:Configuration=Release", "/t:HelloWorld"]);
|
"/p:Configuration=Release"]);
|
||||||
//MSBuild temp/uwa/vws/vws.jsproj /p:Configuration=Release"
|
//MSBuild temp/uwa/vws/vws.jsproj /p:Configuration=Release"
|
||||||
|
|
||||||
if (noOutput) return;
|
if (noOutput) return;
|
||||||
@@ -351,7 +352,67 @@ class WindowsPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
} else if (project.targetFlags.exists ("uwp")) {
|
} else if (project.targetFlags.exists ("uwp")) {
|
||||||
|
|
||||||
HTML5Helper.launch (project, targetDirectory + "/bin");
|
/*
|
||||||
|
|
||||||
|
The 'test' target is problematic for UWP applications. UWP applications are bundled in appx packages and
|
||||||
|
require app certs to properly install.
|
||||||
|
|
||||||
|
There are two options to trigger an appx install from the command line.
|
||||||
|
|
||||||
|
A. Use the WinAppDeployCmd.exe utility to deploy to local and remote devices
|
||||||
|
|
||||||
|
B. Execute the Add-AppDevPackage.ps1 powershell script that is an
|
||||||
|
artifact of the UWP msbuild
|
||||||
|
|
||||||
|
A: WinAppDeployCmd.exe
|
||||||
|
https://docs.microsoft.com/en-us/windows/uwp/packaging/install-universal-windows-apps-with-the-winappdeploycmd-tool
|
||||||
|
https://msdn.microsoft.com/en-us/windows/desktop/mt627714
|
||||||
|
Windows 10 SDK: https://developer.microsoft.com/windows/downloads/windows-10-sdk
|
||||||
|
|
||||||
|
I've never actually got this to work, but I feel like I was close. The WinAppDeployCmd.exe is a part of the
|
||||||
|
Windows 10 SDK and not a part of the Visual Studio 2017 community edition. It will appear magically if you
|
||||||
|
check enough boxes when installing various project templates for Visual Studio. It appeared for me, and I
|
||||||
|
have no clue how it got there.
|
||||||
|
|
||||||
|
A developer must take a few steps in order for this command to work.
|
||||||
|
1. Install Visual Studio 2017 Community Edition
|
||||||
|
2. Install the Windows 10 SDK
|
||||||
|
3. Modify Windows 10 Settings to enable side loading and device discovery
|
||||||
|
3. Enabling device discovery generates a pin number that is displayed to the user
|
||||||
|
4. Open the "Developer Command Promp for VS 2017" from the Start menu
|
||||||
|
5. run:
|
||||||
|
> WinAppDeployCmd devices
|
||||||
|
6. Make sure your device shows up in the list (if it does not appear try step 3 again, toggling things on/off)
|
||||||
|
7. run: (replase file, ip and pin with your values)
|
||||||
|
> WinAppDeployCmd install -file "uwp-project_1.0.0.0_AnyCPU.appx" -ip 192.168.27.167 -pin 326185
|
||||||
|
|
||||||
|
|
||||||
|
B: Add-AppDevPackage.ps1 + PowerShell_Set_Unrestricted.reg
|
||||||
|
The UWP build generates a powershell script by default. This script is usually executed by the user
|
||||||
|
by right clicking the file and choosing "run with powershell". Executing this script directly from the cmd
|
||||||
|
prompt results in a security error: "Add-AppDevPackage.ps1 cannot be loaded because running scripts is
|
||||||
|
disabled on this system."
|
||||||
|
|
||||||
|
We must edit the registry if we want to run this script directly from a shell.
|
||||||
|
See lime/templates/windows/template/PowerShell_Set_Unrestricted.reg
|
||||||
|
|
||||||
|
1. run:
|
||||||
|
> regedit /s PowerShell_Set_Unrestricted.reg
|
||||||
|
2. run:
|
||||||
|
> powershell "& ""./Add-AppDevPackage.ps1"""
|
||||||
|
|
||||||
|
note: the nonsensical double quotes are required.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Using option B because obtaining the device pin programatically does not seem possible.
|
||||||
|
ProcessHelper.runCommand ("", "regedit", [ '/s', '"' + targetDirectory + '/bin/PowerShell_Set_Unrestricted.reg"' ] );
|
||||||
|
var test = '"& ""' + targetDirectory + '/bin/PowerShell_Set_Unrestricted.reg"""';
|
||||||
|
ProcessHelper.runCommand ("", "powershell", [ '& ""' + targetDirectory + '/bin/source/AppPackages/uwp-project_1.0.0.0_AnyCPU_Test/Add-AppDevPackage.ps1""' ] );
|
||||||
|
|
||||||
|
//source/AppPackages/uwp-project_1.0.0.0_AnyCPU_Test/Add-AppDevPackage.ps1
|
||||||
|
|
||||||
|
//HTML5Helper.launch (project, targetDirectory + "/bin");
|
||||||
|
|
||||||
} else if (project.target == PlatformHelper.hostPlatform) {
|
} else if (project.target == PlatformHelper.hostPlatform) {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell]
|
||||||
|
"Path"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
|
||||||
|
"ExecutionPolicy"="Unrestricted"
|
||||||
|
|
||||||
Reference in New Issue
Block a user