Newer version of framework??
I have an app that has been submitted and certified, then upgraded and certified. Now with another upgrade I get a failure message. I'm using VS2008. Apparently one must check the litte box to include framework when using emulators and uncheck the box when building a cab. Very confusing.
Here's the failure message. Can anyone explain?
7.4
Application providers should not include the .NET
Compact Framework (.NET CF) redistributable
package with their applications.
Expected Result
Ensure the application package did not include the
.NET Compact Framework file.
Comments:
Result:
Page
FailThe application metadata lists .CF not required but it needs compactframework.
"This application requires a newer version of the Microsoft .NET Compact Framework
than the version installed on this device.
Steps to Conduct the Test
- Moved byZHE ZHAOMSFTFriday, November 06, 2009 7:34 AMmarketplace related (From:.NET Compact Framework)
Answers
Unchecking the box simply means do not include CF with the cab. When you compile your program, the process detects dependencies for your cab. I would have rebuild, then cleaned, then rebuild my solution after unchecking. Not necessary, just me. One rebuild should be fine.
Since this is simply an update, my guess is the errors are coming from not rebuilding your solution. And this is just a guess.
Part of the same ball of wax:
Finally, the last sentence of the Fail message: "This app requires a newer version of framework than is installed on this device". What device? And, as you said above, don't they insure the latest version? In a word:yes.
Error is coming from your initial build. You first included CF, so metadata said it wasn't needed. Then you unchecked, so... You see how things can get confusing without rebuilding and cleaning? Once again, I'm just hypothesizing. Rebuild and clean, you should be fine.
Good Luck!:)- Marked As Answer byGousekhan-MSFTMSFT, ModeratorMonday, November 09, 2009 4:42 PM
All Replies
- When using Visual Studio 2008 and compiling your program, there is an option box where you can check to include the latest update of the compact framework. This box should be left UNCHECKED. The Marketplace includes as a part of the installation process for end users, ensuring that the most up to date version needed of the Framework is included as well as if the device matches application specs.
Check the developer submission documentation. This caveat is included.
http://developer.windowsphone.com/resources/en-US/Application%20Submission%20Guidelines.pdf Thanks for the note, Dribblegirl.
Yes, I had mistakenly checked the box (which apparently is needed for some emulator configurations) and forgot to uncheck before building the CAB file. Then after being warned about that, I unchecked the box and resubmitted, only to get the notice cited above.
My problem now is the tail end of the fail message: "The metadata lists .CF not required but it needs compact framework". Does unchecking the box mean .CF is not required or does it just mean don't deploy with CAB.
If I uncheck the box, how do I tell whoever that compact framework is still needed. I'm realy confused because except for the checked box, there was little difference between the failed submission and the prior certified submission.
Finally, the last sentence of the Fail message: "This app requires a newer version of framework than is installed on this device". What device? And, as you said above, don't they insure the latest version?
What am I missing?Unchecking the box simply means do not include CF with the cab. When you compile your program, the process detects dependencies for your cab. I would have rebuild, then cleaned, then rebuild my solution after unchecking. Not necessary, just me. One rebuild should be fine.
Since this is simply an update, my guess is the errors are coming from not rebuilding your solution. And this is just a guess.
Part of the same ball of wax:
Finally, the last sentence of the Fail message: "This app requires a newer version of framework than is installed on this device". What device? And, as you said above, don't they insure the latest version? In a word:yes.
Error is coming from your initial build. You first included CF, so metadata said it wasn't needed. Then you unchecked, so... You see how things can get confusing without rebuilding and cleaning? Once again, I'm just hypothesizing. Rebuild and clean, you should be fine.
Good Luck!:)- Marked As Answer byGousekhan-MSFTMSFT, ModeratorMonday, November 09, 2009 4:42 PM
- Thanks again, DG
Good advice and I'll keep it in mind.
Meanwhile, I may be even dumber than that. You may have noticed that when you submit an update, lots of entries get cleared, like icons and screen shots, so these must be re-entered. Well, the item under Managed Code Requirements, which says I wanted CF 3.5 was also cleared and I missed it. So I goofed on the check box, then goofed on resubmit.
I have resubmitted again and have my fingers crossed. I'll report the results... in about a week?
I just filled out a survey on Visual Studio. My main comment was that it's like a jigsaw puzzle with no picture on the box cover. The same goes for Windows Marketpace. Ok.. here's the story.
In Visual Studio, when you buid a CAB, you must say you don't want to deploy Compact Framework, even if you need it. You do this by unchecking the box under Project, Devices.
Then when you submit the CAB fie for certification, you must say that you do need Compact Framework (if you need it). You do this under Managed Code Requirements in the submission process.
Seems a bit convoluted to me, but once you get it, everything is rosy.
I knew this, just screwed it up on resubmission. I forgot that on an update, some things like Managed Code requirements, get reset.
The app was certified.
Thanks to all who participated.- Hi Tranti,
That's nice to hear.
Thanks,
Gouse - Hi all.Just following on from the CAB conversation. I've submitted my app which is now pending certification. During my testing I set the 'Project' to include the Compact framework for when it deployed to the emulator. All worked well.I also tested by creating a CAB project and then copying the CAB file over to the emulator manually through ActiveSync. When I installed on the emulator it says that the .NET CF 3.5 is required to run this app, which is what is supposed to happen I believe. I then manually install the CF 3.5 on the emulator, start my app again and everything works fine.My questions are:1) As my app couldn't run on the device when I manually installed, I believe the CF 3.5 has not been included in the CAB file, is this correct?2) The CF 3.5 CAB is about 4MB and my app is only 1.7MB. Again, my app shouldn't include the CF 3.5 as it's this small, is that correct?Thanks all : )-M
- Ad 1) Yes of course. VS only DEPLOYS (installs) NET CF on a device / emulator if it's needed. I does not INCLUDE it in Your project.Ad 2) None of MP apps should include any third party cabs inside them. Users can install those cabs on their own if they need to (WM6+ have already NETCF 2.0/3.5 preinstalled).The same is for SQL Server Compact. Nobody needs it included in cab because normally WM has it preinstalled in ROM.If someone needs it, he/she will know what to write in google :).
If You'll find my answer satisfactory or helpful - mark it as answered or vote for it! Thank You.
"If You think You know better then me, why is Your code not working, then don't waste my time at this forum. Otherwise - do as I'm suggesting." - Hey Mal Loth.Thanks for your answers. Yeah I believe all is ok with my app as the Smart phone version has been approved. I was worried that I'd forgot to check that box in the properties dialog.I believe if the status say 'ready to publish' in my dashboard then all is approved, is that correct?Thanks again,All the best-M
- @Macfinch
Yeah, should be good to go.@MS TeamI have a proposition: please include Your newest NET CF version along with SQL Server Compact in Your Marketplace, so that everybody who will see those requirements in their newly bought apps, will be able to download them for free from each MP region (just like MS Tag, MS Live, MS MyPhone and Facebook apps).Simple and easy solution for those requirements, which will make everybody happy.Regards,ML
If You'll find my answer satisfactory or helpful - mark it as answered or vote for it! Thank You.
"If You think You know better then me, why is Your code not working, then don't waste my time at this forum. Otherwise - do as I'm suggesting."- Proposed As Answer byMacfinch Wednesday, November 11, 2009 3:23 PM


