11 Replies Latest reply on Dec 28, 2016 8:53 AM by yshapiro

    installing windows phone appx on device

    giovannir30899260 Level 1

      hi all,

       

      i need to install a phonegap build generated .appx on a windows (8.1 or 10) phone

       

      using both cli-6.0.0 and cli-6.1.1

       

      always getting these errors, also on brand new projects:

      - error in xml document (2 2) --> THIS ON WINDOWS PHONE APPLICATION DEPLOYMENT TOOL

      - Failure reason: Failed to start deployment. Failure text: No signature was present in the subject. (0x800b0100) --> THIS ON APP MANAGER BROWSER TOOL

       

      i did give a try also with publisher's ids packages (cli-6.0.0) but not to Windows 10 (Universal) Signing yet (Signing | PhoneGap Docs )

       

      am i missing something?

       

      deployments with .xap (using cli <5.4.1, see Re: xap for windows phone ) regularly works

       

      thanks in advance for any help on this

        • 2. Re: installing windows phone appx on device
          kerrishotts Adobe Community Professional

          Can you share your config.xml (minus identifying/secret information)?

           

          Also post your App ID so PGB staff can take a look.

          • 3. Re: installing windows phone appx on device
            giovannir30899260 Level 1

            hi, thanks for your interest on that!

             

            here's the app pgb id:  2210899

             

            the basic config.xml (without identifying/secret information) looks like that:

             

             

            <?xml version="1.0" encoding="UTF-8"?>

             

            <!-- config.xml reference: https://build.phonegap.com/docs/config-xml -->

            <widget xmlns     = "http://www.w3.org/ns/widgets"

                    xmlns:gap = "http://phonegap.com/ns/1.0"

                    id        = "com.app.myapp"

                    versionCode="199"

              version   = "3.0">

             

                <name>Appname</name>

             

                <description>

                    text.

                </description>

             

              <author href="http://www.xyz.xx" email="info@xxx.x">

              xyz

              </author>

             

                <!--

                    Enable individual API permissions here.

                    The "device" permission is required for the 'deviceready' event.

                -->

                <feature name="http://api.phonegap.com/1.0/device" />

             

                <!--

                    If you do not want any permissions to be added to your app, add the

                    following tag to your config.xml; you will still have the INTERNET

                    permission on your app, which PhoneGap requires.

                -->

                <preference name="permissions"                value="none"/>

              <preference name="android-build-tool" value="gradle" />

               

                <!-- Customize your app and platform with the preference element. -->

                <preference name="phonegap-version"           value="cli-6.0.0" />          <!-- all: current version of PhoneGap -->

                <preference name="orientation"                value="portrait" />       <!-- other values: default means both landscape and portrait are enabled, landscape only landscape -->

                <preference name="target-device"              value="universal" />      <!-- all: possible values handset, tablet, or universal -->

                <preference name="fullscreen"                 value="true" />           <!-- all: hides the status bar at the top of the screen -->

                <preference name="webviewbounce"              value="true" />           <!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->

                <preference name="prerendered-icon"           value="true" />           <!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen -->

                <preference name="stay-in-webview"            value="false" />          <!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in -->

                <preference name="ios-statusbarstyle"         value="black-opaque" />   <!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar -->

                <preference name="detect-data-types"          value="true" />           <!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system -->

                <preference name="exit-on-suspend"            value="false" />          <!-- ios: if set to true, app will terminate when home button is pressed -->

                <preference name="show-splash-screen-spinner" value="true" />           <!-- ios: if set to false, the spinner won't appear on the splash screen during app loading -->

                <preference name="auto-hide-splash-screen"    value="true" />           <!-- ios: if set to false, the splash screen must be hidden using a JavaScript API -->

                <preference name="android-minSdkVersion"      value="14" />              <!-- android: MIN SDK version supported on the target device. MAX version is blank by default. -->

                <preference name="android-installLocation"    value="auto" />           <!-- android: app install location. 'auto' will choose. 'internalOnly' is device memory. 'preferExternal' is SDCard. -->

             

                <!-- Plugins can also be added here. -->

                <!--

                    <gap:plugin name="Example" />

                    A list of available plugins are available at https://build.phonegap.com/docs/plugins

                -->

                <gap:plugin name="pushwoosh-pgb-plugin" source="npm" />

              <gap:plugin name="org.apache.cordova.network-information" version="0.2.7" />

              <gap:plugin name="org.apache.cordova.core.inappbrowser" />

              <gap:plugin name="org.apache.cordova.device" />

              <gap:plugin name="org.apache.cordova.dialogs" />

              <gap:plugin name="org.apache.cordova.console" />

              <gap:plugin name="org.apache.cordova.vibration" />

              <gap:plugin name="org.apache.cordova.geolocation" />

             

                <!-- Define app icon for each platform. -->

                <icon src="icon.png" /><!-- deve esserci per bug s3? -->

                <icon src="res/icon/android/icon-36-ldpi.png"   gap:platform="android"    gap:density="ldpi" />

                <icon src="res/icon/android/icon-48-mdpi.png"   gap:platform="android"    gap:density="mdpi" />

                <icon src="res/icon/android/icon-72-hdpi.png"   gap:platform="android"    gap:density="hdpi" />

                <icon src="res/icon/android/icon-96-xhdpi.png"  gap:platform="android"    gap:density="xhdpi" />

                <icon src="res/icon/ios/icon-57.png"            gap:platform="ios"        width="57" height="57" />

                <icon src="res/icon/ios/icon-72.png"            gap:platform="ios"        width="72" height="72" />

                <icon src="res/icon/ios/icon-114.png"         gap:platform="ios"        width="114" height="114" />

                <icon src="res/icon/ios/icon-144.png"         gap:platform="ios"        width="144" height="144" />

              <icon src="res/icon/ios/icon-76.png" gap:platform="ios" width="76" height="76" /> <!-- iPad non retina iOS7 -->

                <icon src="res/icon/ios/icon-120.png" gap:platform="ios" width="120" height="120" /> <!-- iPhone & iPod Touch retina iOS7 -->

                <icon src="res/icon/ios/icon-152.png" gap:platform="ios" width="152" height="152" /> <!-- iPad retina iOS7 -->

             

              <icon src="wp/ApplicationIcon.png" gap:platform="winphone" />

              <icon src="wp/Background.png" gap:platform="winphone" gap:role="background" />

               <gap:splash src="wp/SplashScreenImage.jpg" gap:platform="winphone" />

             

                <!-- Define app splash screen for each platform. -->

                <gap:splash src="res/screen/android/200x320-screen-ldpi-portrait.png"  gap:platform="android" gap:density="ldpi" />

                <gap:splash src="res/screen/android/320x480-screen-mdpi-portrait.png"  gap:platform="android" gap:density="mdpi" />

                <gap:splash src="res/screen/android/480x800-screen-hdpi-portrait.png"  gap:platform="android" gap:density="hdpi" />

                <gap:splash src="res/screen/android/720x1280-screen-xhdpi-portrait.png" gap:platform="android" gap:density="xhdpi" />

                <gap:splash src="res/screen/ios/320x480-screen-iphone-portrait.png"    gap:platform="ios"     width="320" height="480" />

                <gap:splash src="res/screen/ios/640x960-screen-iphone-portrait-2x.png" gap:platform="ios"     width="640" height="960" />

                <gap:splash src="res/screen/ios/768x1024-screen-ipad-portrait.png"      gap:platform="ios"     width="768" height="1024" />

                <gap:splash src="res/screen/ios/1024x783-screen-ipad-landscape.png"     gap:platform="ios"     width="1024" height="768" />

              <gap:splash src="res/screen/ios/640x1136-screen-iphone-portrait-568h-2x.png" gap:platform="ios" width="640" height="1136" /> <!-- iPhone & iPod Touch retina 5+ -->

                <gap:splash src="res/screen/ios/2048x1496-splash2048x1496.png" gap:platform="ios" width="2048" height="1496" /> <!-- iPad retina -->

                <gap:splash src="res/screen/ios/1536x2008-screen-ipad-portrait-2x.png" gap:platform="ios" width="1536" height="2008" /> <!-- iPad retina -->

             

                <!--

                    Define access to external domains.

             

                    <access />            - a blank access tag denies access to all external resources.

                    <access origin="*" /> - a wildcard access tag allows access to all external resource.

             

                    Otherwise, you can specify specific domains:

                -->

                <access origin="http://127.0.0.1*"/> <!-- allow local pages -->

            <!-- <access origin="*"/> allow all pages, use for development -->

              <access origin="*.pushwoosh.com"/> <!-- allow pushwoosh service -->

              <access origin="maps.google.com"/>

             

                <!--

              <access origin="*"/>

               

                    <access origin="http://phonegap.com" />                    - allow any secure requests to http://phonegap.com/

                    <access origin="http://phonegap.com" subdomains="true" />  - same as above, but including subdomains, such as http://build.phonegap.com/

                    <access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.

                -->

             

            <gap:platform name="android" />

            <gap:platform name="ios" />

            <gap:platform name="winphone" />

             

            </widget>

            • 4. Re: installing windows phone appx on device
              kerrishotts Adobe Community Professional

              First things first --

               

              <gap:plugin name="org.apache.cordova.network-information" version="0.2.7" />

                <gap:plugin name="org.apache.cordova.core.inappbrowser" />

                <gap:plugin name="org.apache.cordova.device" />

                <gap:plugin name="org.apache.cordova.dialogs" />

                <gap:plugin name="org.apache.cordova.console" />

                <gap:plugin name="org.apache.cordova.vibration" />

                <gap:plugin name="org.apache.cordova.geolocation" />

               

              These use the old and deprecated PGB repo which is going away soon. See this post: PhoneGap Build Public Plugin Repository Shutting Down 

               

              Switch to NPM and use modern plugin identifiers, like this:

               

              <plugin name="cordova-plugin-device"/>

               

              I'd also suggest pinning to a specific version of the plugin so updates don't cause your app to fail and take you by surprise.

              • 5. Re: installing windows phone appx on device
                giovannir30899260 Level 1

                Thank you.

                 

                I did remove/update the plugin list, got same error (error in xml document (2 2))

                 

                Any further suggestion?

                • 6. Re: installing windows phone appx on device
                  widonwaker Level 1

                  up! i have the same proflem, error in xml document (2 2) when trying to deploy with deployment tool. Why?

                  • 7. Re: installing windows phone appx on device
                    yshapiro

                    same problem here.  When I do a local build and then Visual Studio to compile the same project, everything works fine - only the phonegap built appx file is having the issue where the deployment via command line or UI fails with "error in xml".  I'm using windows 8.1 phone and I am setting the following statements relevant to windows in config.xml (all my plugin statements were upgraded to the npm format):

                     

                        <preference name="windows-appx-target" value="8.1-phone" />

                        <preference name="windows-arch" value="arm" />

                        <platform name="winphone">

                        </platform>

                        <engine name="windows" spec="~4.1.0" />

                     

                    build works fine, only deployment fails.  also it is the same problem when windows-arch preference is set to anycpu.

                     

                    My app ID is 2392512

                    • 8. Re: installing windows phone appx on device
                      giovannir30899260 Level 1

                      i did succeed in deploy with <preference name="windows-arch" value="arm" /> and using WinAppDeployCmd tool (windows 10 sdk command line tools)

                       

                      any time i use the gui, same error is given back

                      • 9. Re: installing windows phone appx on device
                        yshapiro Level 1

                        I actually did try that, but I only have windows 8.1 phone to test with and WinAppDeployCmd fails with access denied error.  I am running cmd as administrator and my phone is unlocked for development.  I know that windows 10 phone has certain settings that need to be enabled for development as well.  Not sure if WinAppDeployCmd is compatible with 8.1 phone or if there are settings on 8.1 phone that I missed that need to be changed.

                        • 10. Re: installing windows phone appx on device
                          giovannir30899260 Level 1

                          i confirm that WinAppDeployCmd seems to be unuseful for devices < 10

                          • 11. Re: installing windows phone appx on device
                            yshapiro Level 1

                            Thanks for trying it, that's what I figured.  In the end, it may be easier for me to work with Visual Studio anyways, since it's easier to submit to the store and manually update the manifest file if necessary.