Answered by:
How can I pass a certification of an App having in Solution multiple projects?

Question
-
Hi,
If a solution has multiple projects the dll will be 3(for x86,x64 and ARM) for
each and when you add the reference I have only one choice.
That means I can't pass the certification for solutions with multiple projectsThanks
ADRIAN DIBU
Sunday, March 2, 2014 12:54 AM
Answers
-
You are wrong. You need to follow our advice. Rob, Jim and I all gave you advice which you have not followed.
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)- Marked as answer by Jeff SandersMicrosoft employee, Moderator Tuesday, March 11, 2014 11:53 AM
Tuesday, March 11, 2014 11:53 AMModerator
All replies
-
You can compile your app for the 3 processor types and submit it. I am not sure what you are asking hereSunday, March 2, 2014 2:08 PM
-
Hi,
To be more specific:
The app are using SQLite so I suppose to built 3 times for(x86, x64 and ARM)
I use secondary tile and badge so I needed to add a project NotificationsExtensions (Windows 8.1).
When I build Solution I did it for each platform and for NotificationsExtensions (Windows 8.1)
I selected AnyCPU because it was only way don't have error when I build. Maybe this is the problem.
I can't pass the certification and the testers don't want to write about what Windows RT device used
Intel or ARM or the error found in report.
Thanks
ADRIAN DIBU
Tuesday, March 4, 2014 3:04 PM -
Hi,
I build NotificationsExtensions for each platform
I build the Solution for each platform and I changed reference
NotificationsExtension every time I added according to platform.When I tryed the WACK3.2 I have mismatch even when I build for
x86 I used for NotificationsExtension the build for x86 not ARM.The error in WACK3.2
There was a mismatch between the processor architecture of the project being built "x86" and the processor
architecture of the reference "NotificationsExtensions, Version=1.0.0.0, Culture=neutral,
processorArchitecture=x86", "ARM".
This mismatch may cause runtime failures.
Please consider changing the targeted processor architecture of your project through the
Configuration Manager so as to align the processor architectures between your project and references,
or take a dependency on references with a processor architecture that matches the targeted processor
architecture of your project. Check Eat
ThanksADRIAN DIBU
Tuesday, March 4, 2014 4:06 PM -
Hi,
I removed NotificationsExtensions now I have only one project in Solution.
I am trying to pass certification an app made with VS 2013 storing data into SQLite
database.
It passes the test with WACK3.2.
I made a package for each platform x86, x64 and ARM.
Testers decision.
Using the Windows App Certification Kit on a Windows RT system with this app, we couldn't get passing results when tested.
I tested on x86 and x64 and it works perfect.I added references:
Microsoft Visual C++ 2013 Runtime Package for Windows
SQLite for Windows Runtime(Windows 8.1)In Nuget Pckeges I have:
SQLite wrapper Windows 8.1 and Windows Phone 8
sqlite-net
SyncClient SQLite Toolkit
WinRT XAMAL ToolkitPlease help me. Testers don't want to send me the result of
generated report.Thanks
ADRIAN DIBU
Thursday, March 6, 2014 10:03 PM -
Hi,
The app is with trial.
This is the code. (I don't know if it can be the cause of failed certification. )
#region Trial Plumbing
//This function will not be called for the release
//Its only purpose is to get the proxy file for debugging purposes
#if DEBUG
private async Task LoadTrialModeProxyFileAsync()
{licenseChangeHandler = new LicenseChangedEventHandler(UpdateTrialStatusPanel);
// StorageFolder proxyDataFolder = await Package.Current.InstalledLocation.GetFolderAsync("Data"); //REMOVE FOR RELEASE
// StorageFile proxyFile = await proxyDataFolder.GetFileAsync("trial-mode.xml"); //REMOVE FOR RELEASE
// CurrentAppSimulator.LicenseInformation.LicenseChanged += licenseChangeHandler; //REMOVE FOR RELEASE
// await CurrentAppSimulator.ReloadSimulatorAsync(proxyFile); //REMOVE FOR RELEASE
}
#else// Do Nothing
#endif
//Show the state of the license in the status panel
private void UpdateTrialStatusPanel()
{
#if DEBUG
LicenseInformation licenseInformation = CurrentAppSimulator.LicenseInformation;
#else
LicenseInformation licenseInformation = CurrentApp.LicenseInformation;
#endif
if (licenseInformation.IsActive)
{
if (licenseInformation.IsTrial)
{
//Current license mode: Trial license
TrialStatusPanel.Visibility = Visibility.Visible;
BorderTrialStatusPanel.Visibility = Visibility.Visible;
var remainingTrialTime = (licenseInformation.ExpirationDate - DateTime.Now).Days;
RemainingTime.Text = "Expires in " + remainingTrialTime + " days";
panelApp.Visibility = Visibility.Collapsed;
bottomAppBar.Visibility = Visibility.Collapsed;
}
else
{
//Current license mode: Full license
BorderTrialStatusPanel.Visibility = Visibility.Collapsed;
TrialStatusPanel.Visibility = Visibility.Collapsed;
panelApp.Visibility = Visibility.Visible;
bottomAppBar.Visibility = Visibility.Visible;}
}
else
{
//Current license mode: Inactive license
TrialStatusPanel.Visibility = Visibility.Visible;
BorderTrialStatusPanel.Visibility = Visibility.Visible;
var remainingTrialTime = (licenseInformation.ExpirationDate - DateTime.Now).Days;
RemainingTime.Text = "Trial has expired.";
RemainingTime.Foreground = new SolidColorBrush(Colors.Red);
panelApp.Visibility = Visibility.Collapsed;
bottomAppBar.Visibility = Visibility.Collapsed;
ContinueTrial.Visibility = Visibility.Collapsed;
}
}
//Attempt to purchase app in the application
async void PurchaseApp_Click(object sender, RoutedEventArgs e)
{
#if DEBUG
LicenseInformation licenseInformation = CurrentAppSimulator.LicenseInformation;
#else
LicenseInformation licenseInformation = CurrentApp.LicenseInformation;
#endif
RemainingTime.Text = "Buying the full license...";
if (licenseInformation.IsTrial)
{
try
{
#if DEBUG
await CurrentAppSimulator.RequestAppPurchaseAsync(false);
#else
await CurrentApp.RequestAppPurchaseAsync(false);
#endif
if (!licenseInformation.IsTrial && licenseInformation.IsActive)
{
RemainingTime.Text = "Thank you.";
// SayHello(); //Optional do something in app to show it works again
// loadPanelData();
panelApp.Visibility = Visibility.Visible;
bottomAppBar.Visibility = Visibility.Visible;}
else
{
RemainingTime.Text = "You still have a trial license for this app.";
ContinueTrial.Visibility = Windows.UI.Xaml.Visibility.Visible;
}
}
catch (Exception)
{
RemainingTime.Text = "The transaction failed.";
}
}
else
{
//Should not reach this because the Purchase button would not be displayed
RemainingTime.Text = "You have already purchased this app.";
}
}
#endregionprivate void ContinueTrial_Click(object sender, RoutedEventArgs e)
{
loadPanelData();
}
private void loadPanelData()
{
panelGlobalTrial.Visibility = Visibility.Collapsed;
panelApp.Visibility = Visibility.Visible;
bottomAppBar.Visibility = Visibility.Visible;
}private void loadPanelTrial()
{
panelGlobalTrial.Visibility = Visibility.Visible;
panelApp.Visibility = Visibility.Collapsed;
bottomAppBar.Visibility = Visibility.Collapsed;
}Thanks
ADRIAN DIBU
- Edited by adibu Friday, March 7, 2014 12:14 AM Error
Friday, March 7, 2014 12:13 AM -
What are YOUR results testing on ARM?
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)Friday, March 7, 2014 3:15 PMModerator -
Hi,
Thanks for answers.
I don't have ARM device. This is my problem.
I begged testers to send me the report of failure to figure if is
SQLite the trial part of software or other reasons.
They are acting like not reading the note from developer or wanting to help.
With Windows 8 I passed 2 apps with SQLite.
With WACK3.2 (VS 2013 and program) I passed the test.
Thanks
ADRIAN DIBU
Friday, March 7, 2014 4:32 PM -
If you don't have an ARM device I would not submit for ARM since you have not tested this adequately yourself.
You could open a technical support case to drill into this further (just to see what the WACK problem may be on ARM).
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)Friday, March 7, 2014 4:36 PMModerator -
Hi,
Thanks for answer.
I have a question.
If I pass the test with WACK3.2 on local
machine and testers don't pass on RT kit is possible to run on
Intel RT device and not on ARM device, because they don't to tell
even on what type of processor they tested and fail.
Thanks
ADRIAN DIBU
Friday, March 7, 2014 6:01 PM -
No such thing as a Intel RT device. I am not sure what you are asking? If you open a support case we can help you look at your failure report etc...
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)Friday, March 7, 2014 7:22 PMModerator -
Hi,
Thanks for prompt answer.
In my mind Microsoft Tablet Surface is an ARM device and
Surface2 is an Intel device.
So if I passed WACK3.2 on x86 I expect to don't have problems
with a Surface2 on RT test kit and the problem is on ARM.
What is a support case?
Thanks
ADRIAN DIBU
Friday, March 7, 2014 11:44 PM -
Windows RT always runs on ARM. The Surface 2 runs Windows RT 8.1 on an ARM processor.
Surface Pro and Surface Pro 2 run Windows 8 or 8.1 on Intel processors.
AnyCpu works only for purely managed code. You cannot use native components (such as SQLite) in an AnyCpu build. Native components are specific to the architecture they are compiled for (ARM, x86, or x64) and can only be used in a project targeting that architecture. If you want to run on ARM then you need to build targeting ARM and include an ARM version of SQLite. If you want to run on x86 then you need to build targeting x86 and include an x86 version of SQLite.
If you install SQLite as recommended in the SQLite topic then it will set up the solution to include the correct version of SQLite for the target you are using.
As Jeff said, you can open a support case at http://aka.ms/storesupport to work one-on-one with somebody to understand and solve your issue.
--Rob
Saturday, March 8, 2014 12:12 AMModerator -
Hi,
I built for every platform still not luck.
Thanks
ADRIAN DIBU
Saturday, March 8, 2014 12:40 AM -
Hi,
I can't understand the hostile attitude of testers.
I beg them to send the result of their kit test.
They act like not reading developer note.
I think we are a team and we must do our best
to pass the certification because they will take
33% from product's sale.
Any explanation why they acting like that and
what can be done to be fixed
Thanks
ADRIAN DIBU
Saturday, March 8, 2014 2:39 PM -
I don't understand what you mean by Hostile Attitude of testers? All your testing information is on your dashboard and this is where the email you get is pointing you to. It has the entire report. Can you email me privately and tell what precisely is hostile (they should not be communicating with you directly and don't have your email address etc..). You can contact me here with that information http://blogs.msdn.com/jpsanders/contact.aspx.
Also just a side note, they aren't testing your app, just ensuring it passes certification. If something is not passing, then you get an email and note on your dashboard telling your what portion could not pass certification. You are in error about the % as well. It is 30% not 33% and then goes to 20% when you hit the threshold.
Finally Rob did a really good job of explaining how to get SQLite working. Have you followed everything suggested? If you have and still are having trouble go here: http://aka.ms/storesupport
Jeff
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)Monday, March 10, 2014 12:55 PMModerator -
Hi Jeff,
Thanks for answer.
I worked months to do the app and it passes WACK3.2.
I bagged testers to send the report with failed test, but they don't
want to do it or even to write a few words about.
I tried to fixed several time and they gave the same answer and I am
skeptic they had the same error.
I am extremely sad.
If you want I will send a zip file with the app attached to an e-mail if you give me the address.
Thanks
ADRIAN DIBU
Monday, March 10, 2014 5:03 PM -
The bottom line is if you want to pass ARM certification then you need to invest in a ARM device for your own WACK testing before submitting for certification. The original Surface RT is down to fire sale prices and works just fine for this purpose.
Monday, March 10, 2014 6:40 PM -
Hi,
I have the same invariable answer:
Using the Windows App Certification Kit on a Windows RT system with this app, we couldn't get passing results when tested.
I tested and it worked.
I am sure tester don't test.
How can I find a prove?
Best regards
<form action="/StorePortals/en-us/Developer/Catalog/CreateNewRelease?productGuid=67213d15-804f-4305-8335-86eab090836c" id="ws_NewReleaseForm" method="post"><input name="__RequestVerificationToken" type="hidden" value="YTGtb6btdnXYVm+sNSmG9Ny/NDLdZF10g1of9V0Hx/UV0sA1d74QZXMnZ2qrPyLZAihM+Rh3DNTMpDyZjxglTOUnyG5OxixxRUBCdkMnIG5kWivT/9BvFvId9+PPJBzy/iyMjXqCamRBuznlu2O+eRDVwwWPOkTv7hMkCr22WqVCjc9+" /> </form>ADRIAN DIBU
Monday, March 10, 2014 8:40 PM -
Hi,
Now is worse.
I think the testers read the post and instead of giving me
an answer how I beg them, they acted the same.
I suspect, they did not want to look at app to punish me.
It was created a new SQLite.ddl and I update the app.
They give me the same answer in less than 1 hour.
What did I do wrong to make them to act like that.
Best regards
ADRIAN DIBU
Tuesday, March 11, 2014 1:19 AM -
You are wrong. You need to follow our advice. Rob, Jim and I all gave you advice which you have not followed.
Jeff Sanders (MSFT)
@jsandersrocks - Windows Store Developer Solutions @WSDevSol
Getting Started With Windows Azure Mobile Services development? Click here
Getting Started With Windows Phone or Store app development? Click here
My Team Blog: Windows Store & Phone Developer Solutions
My Blog: Http Client Protocol Issues (and other fun stuff I support)- Marked as answer by Jeff SandersMicrosoft employee, Moderator Tuesday, March 11, 2014 11:53 AM
Tuesday, March 11, 2014 11:53 AMModerator -
Hi,
Thanks for answers.
You think I am wrong, maybe, but it is impolite to don't
answer when asked.
Please remove the testers note to don't give false hopes.
I am desperate because I tried so many time and no
chance to pass.
It seams to be a problem with SQLite running on
Windows rt and VS 2013.
I am hopeless I will find a way.
Thanks
ADRIAN DIBU
Tuesday, March 11, 2014 1:26 PM