Description
Builds will fail with the following error message:
[ERROR] There are Windows Phone configuration issues preventing the app from being built
Steps To Reproduce
1. Create a MobileWeb project
2. Run the application on device
3. Run "ti info"
Expected Result
"ti info" should detect the users device
Project should run on device
Actual Result
Project fails to run on device
"ti info" displays:
C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\longjohn\dist\longjohn.js:184
throw e;
^
TypeError: Object.keys called on non-object
at Function.keys (native)
at exports.render (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\mobileweb\cli\lib\info.js:58:13)
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\lib\commands\info.js:613:14
at Array.forEach (native)
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\lib\commands\info.js:607:13
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:232:13
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:119:25
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:24:16
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:229:17
at C:\Users\tester32\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:516:34
---------------------------------------------
at Readable.on (_stream_readable.js:679:33)
at Connection.exec (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\titanium-sdk\lib\adb.js:114:9)
at ADB.devices (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\titanium-sdk\lib\adb.js:362:23)
at Object.detectDevices (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\android\cli\lib\detect.js:60:18)
at Section.<anonymous> (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\android\cli\lib\info.js:25:7)
at finalize (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\titanium-sdk\lib\android.js:313:4)
at C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\titanium-sdk\lib\android.js:681:5
at ChildProcess.<anonymous> (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\node-appc\lib\subprocess.js:60:3)
---------------------------------------------
at run (C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\node-appc\lib\subprocess.js:59:8)
at C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\titanium-sdk\lib\android.js:453:4
at C:\Users\tester32\AppData\Roaming\Titanium\mobilesdk\win32\3.2.0.v20131220112443\node_modules\node-appc\lib\subprocess.js:129:3
at exithandler (child_process.js:635:7)
at EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at ChildProcess._handle.onexit (child_process.js:802:5)
Not for 3.2.1
The problem was that the computer did not have the Windows Phone SDK installed. The detection could have been a bit better, regardless it does work if the Windows Phone SDK is installed.
To make things more complicated, the Windows Hybrid build scripts explicitly look for Visual Studio 2012 files. The build scripts also use the platform architecture to determine which Program Files directory to scan instead of scanning both, but that's a different issue.
This only occurs with Node version 0.10.13. There is a problem where Node will default your processor architecture to be 32 bit even if you are running a 64 bit OS. Due to it thinking that it is a 32 bit OS it will look in the wrong directory for certain files causing builds to fail. Updating to the latest version of Node fixes this issue and building to device works as expected.
Closing ticket as the issue cannot be reproduced.