Invalid package family name error on Windows PhoneGap app - windows-phone-8

I have done a windows app using phoneGap, But when I upload the APPX file in windows dev center, I got some errors like 'Invalid package family name'.

I worked through a similar problem today and I found this article helpful:
http://cordova.apache.org/docs/en/latest/guide/platforms/win8/index.html
Check your build configuration file (build.json) and make sure you select a release if your release settings are defined to match the Strong Name with the Windows Store expected Publisher Name.
If you are using Tools for Apache Cordova (TACO), you will also want to review your config.xml file both with the GUI and then with an raw XML editor like WordPad.
<preference name="WindowsStoreDisplayName" value="XXX" />
<preference name="WindowsStoreIdentityName" value="YYYXXX" />
<vs:platformSpecificValues>
<vs:platformSpecificWidget platformName="windows" id="_ZZZZZZZZ" />
</vs:platformSpecificValues>
Where you fill in the value the Windows Store expects in the XXX, YYY and ZZZ fields.
Hope that helps,
Adam

if you are using https://build.phonegap.com you need compile using cli-6.0.0

Related

Getting calendar appointments working on WP7 but not WP8

When I run codes of this example in windows phone 7 project it's ok but when I test it in a windows phone 8 project it gets exception at this line:
appts.SearchAsync(start, end, 20, "Appointments Test #1");
I can't understand what's the reason???
You need to add related capablity to use appointments: copy and paste <Capability Name="ID_CAP_APPOINTMENTS" /> to <Capabilities> section in WMAppManifest.xml file

Windows 8.1 multiple instances of Windows Store app

one of the promises of Windows 8.1 is the possibility of multiple instance of Windows Store Apps.
But I'm not finding how to activate this.
I've found the element of the app manifest
http://msdn.microsoft.com/en-us/library/windows/apps/dn423281.aspx
But I don't know what to add in the ?? values:
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<Extensions>
<Extension Category="windows.activatableClass.outOfProcessServer">
<OutOfProcessServer ServerName="??">
<Path>??</Path>
<Instancing>multipleInstances</Instancing>
<ActivatableClass ActivatableClassId="MyApp.App"/>
</OutOfProcessServer>
</Extension>
</Extensions>
</Package>
Could you help me to activate multiple instances of my application?
Thank you a lot!
Each app can have a single instance but multiple views - each view runs in its own thread. Here is an example on MSDN. I wrote an article about how I added multiple views to an app.
Right click on your project and select unload project.
Right click on your project and select edit .csproj
On the XML view find <ProjectGuid> tag.
Generate a new GUID and replace it.
Right click on your project reload it.
Go to Package.appxmanifest and change
Application tab Display name
Visual assets Short name
Packaging Package name
Then create the app package and then install it via powershell.
Each time you need to deploy a new instance of the same app, do above.

Are the ExtendedTask elements in WMAppManifest.xml still required for Windows Phone 8?

I have created a background agent project and added it as a project reference in my main phone application project. I was expecting it to automatically update WMAppManifest.xml with something like the below:
<Tasks>
<DefaultTask Name="_default"
NavigationPage="MainPage.xaml" />
<ExtendedTask Name="MyBackgroundTask">
<BackgroundServiceAgent Specifier="ScheduledTaskAgent"
Name="FooManMark"
Source="BackgroundAgent"
Type="BackgroundAgent.ScheduledAgent" />
</ExtendedTask>
</Tasks>
The periodic task still seems to run in the background (at least in a debug build), so I am wondering if the extended task element is still used in Windows Phone 8?
I am using Visual Studio 2012 Update 4
That's a difference in Windows Phone 8 that this reference is not added to WMAppManifest when you add the project reference, but when you actually build the project. If build the project and unzip the created XAP file and check the content of the WMAppManifest, the ExtendedTask is there.
I've described this in more details here.

Azure Worker Role configuration issue while using SlowCheetah with custom config

We are using Nlog as logging tool with our Worker Role of Azure app.
It requires NLog.config file. We installed "SlowCheetah - XML Transforms", and have two Debug/Release transforms).
Solution does get rebuild successfully.
But when I try to run, I am getting following error. (I used exact transformation for nolog.config in one of my Windows service app, and it is working fine there).
Error 163 The item "bin\Debug\NLog.config" in item list "OutputGroups"
does not define a value for metadata "TargetPath". In order to use
this metadata, either qualify it by specifying
%(OutputGroups.TargetPath), or ensure that all items in this list
define a value for this metadata. C:\Program Files
(x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure
Tools\1.6\Microsoft.WindowsAzure.targets 2299 5 Insight.CloudWeb
I don't know if this is done by the SlowCheetah extension, but could you verify if your *.csproj file contains the AfterCompile target similar to this?
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<UsingTask TaskName="TransformXml"
AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="AfterCompile" Condition="exists(’app.$(Configuration).config’)">
<TransformXml Source="NLog.config"
Destination="$(IntermediateOutputPath)$(TargetFileName).config"
Transform="NLog.$(Configuration).config" />
<ItemGroup>
<AppConfigWithTargetPath Remove="NLog.config"/>
<AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
<TargetPath>$(TargetFileName).config</TargetPath>
</AppConfigWithTargetPath>
</ItemGroup>
</Target>
Take a look at Oleg's blog post .Config File Transformation under App.config File Transformation for more information.
I have a fix for this. Now you should be able to transform app.config as well as other XML files for Azure Worker Roles using SlowCheetah. Once I get the fix verified I will release the update to the VS gallery.
If you would like to try the fix you can download the updated VSIX at https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip. If you are interested in following up on this please use the issue #44.

Is it possible to browse the source of OpenJDK online?

Is it possible to browse the source code of OpenJDK online, just like I can do with SourceForge's projects? I never used Mercury before, so I felt confused.
(Note: I don't want to download the source. I just want to browse it online, to see how some methods are implemented.)
OpenJDK is now on GitHub: https://github.com/openjdk/jdk
It is a large project, but you will find the implementations of the core classes under jdk/src/java.base/share/classes.
For instance you can find the implementation of java.util.List here.
If you need to browse older versions, you still need to use the old Mercurial interface.
The Mercurial interface there is quite confusing if you are not used to it, and since this is a large project, it can be hard to find what you are looking for.
Here is an example:
To find the JDK6 implementation java.util.List, select jdk6, jdk, select browse. Then browse to src/share/classes/java/util/List.java.
You should end up at http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java
The latest JDK 8 OpenJDK Java Class Library source code can be found here: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/
Here is the basic step to get latest or any released version of Openjdk 8 (or any existing java version) source code, and use them in Eclipse.
Steps:
[browse source]
Open url for jdk, e.g http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/
click tags
choose proper tag, e.g jdk8u73-b02
then click browse,
then browse into folder src/share/classes,
[download source]
then click one of bz2 / zip / gz, to download source in relevant compressed format, (e.g for jdk8u73-b02 in zip format, the url will be: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/2ab13901d6f1.zip/src/share/classes/)
[use in eclipse]
uncompress it,
zip the folder "classes/", make "classes/" as the root dir of .zip file, (e.g first cd jdk-2ab13901d6f1/src/share/, then zip -r openjdk_8u73_b2_src.zip classes/)
move the created zip file to proper location, it will stay there for a while, (e.g mv openjdk_8u73_b2_src.zip /media/Eric/software/java/jdk/openjdk/openjdk8u73-b02/source/)
in eclipse, specify source file for jars of installed jre, could specify the source attachment for each jar of installed jre respectively, the most common jar is probably rt.jar,
optionally, might need refresh project to make it totally take effect, not sure is that necessary,
test it: in eclipse, ctrl + shift + t, then input Cancellable, select the sun.nio.fs.Cancellable of corresponding installed jre,
if the source code is available, then it's good, because this source is not available in jdk_home/src.zip, it must be from the additional openjdk source,
switch source back: could switch back to use "jdk_home/src.zip", if don't want to use the external openjdk source,
ok
Here's a way to browse the repositories and look at just the bits you want.
http://hg.openjdk.java.net/
Is that what you are asking?
Append a "/file" to the root URLs to view the browser like this:
http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/
http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file
Grepcode.com is great for similar things - not only OpenJDK sources, with searching in classes/methods and links between classes directly in highlighted code:
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/net/Socket.java
As mentioned in the other answers, the source code repository is at https://hg.openjdk.java.net
However, the OpenJDK team mirrors some of the projects on GitHub: https://github.com/openjdk
Including the latest Java version project (https://hg.openjdk.java.net/jdk/jdk): https://github.com/openjdk/jdk
Surely http://hg.openjdk.java.net is one good option. The other equally good source is zGrepCode https://zgrepcode.com/java/openjdk/ . It has both Open JDK and Oracle java versions.