Related
Looking around the IMGFS, I found some undocumented capabilities that can be used in building an app (in addition to the standard ones mentioned in the WMAppManifest.xml file).
These are the extra ones I found, in case anyone is interested (from BasePolicy.xml):
ID_CAP_RINGTONE_ADD:Allows ringtone-marketplace applications to read/write into the Ringtones directory
ID_CAP_MEDIALIB:Access to the media library - read, play-back, etc.
ID_CAP_INTEROPSERVICES:Temporary Interop Service Capability.. To be removed by feature team
ID_CAP_SIMrovides access to SIM manager API
ID_CAP_SMSrovides access to SMS API
ID_CAP_WAProvides access to WAP API
ID_CAP_IDENTITY_USER:Allow an application to use a phone.info.dll to retrieve user properties
ID_CAP_TESTPUBLIC1:Small public test capability
ID_CAP_LOADUNSIGNEDMANAGEDDLL:Capability to load unsigned managed dll into chamber's process space
ID_CAP_LOADUNSIGNEDNATIVEDLL:Capability to load unsigned native dll into chamber's process space
ID_CAP_DEBUG:Allow an application to run in debugging enviorment.
---Edit---
I've tested each of these individually, and some work, and others don't.
ID_CAP_INTEROPSERVICES works
ID_CAP_RINGTONE_ADD works
ID_CAP_MEDIALIB works
ID_CAP_IDENTITY_USER works
ID_CAP_TESTPUBLIC1 works
ID_CAP_SIM ID doesn't work
CAP_SMS doesn't work
ID_CAP_WAP doesn't work
ID_CAP_LOADUNSIGNEDNATIVEDLL doesn't work
ID_CAP_LOADUNSIGNEDMANAGEDDLL doesn't work.
Note that even for the ones that work, Microsoft may still reject them in the app store.
I tested these by entering them in the WMAppManifest.xml in the XAP, and loading them on a windows phone device. This guy suggests that if it loads on the device, you have the permission: http://www.drdobbs.com/windows/227701092 and I think he's right. If you don't have permission, it doesn't actually load, and in every case, if it loaded it ran.
ID_CAP_RINGTONE_ADD - So i guess with next update we will get Custom ringtones that can b installed from an app
off topic can some one create utility that will do something about tuch sensetive buttons, when using camera if u tuch any of then by accident it exit camera, so u have to hold phone very carefully.
also, app to lock screen rotation would be nice.... any of thous features undocumented anywhere
P.S sorry for unrelated message
I think the ID_CAP_RINGTONE_ADD feature will only be enabled for the carriers (who knows what Microsoft really has in mind, though). The Windows Phone has done a good job (or lousy job, compared to what I desire) managing permissions so they can choose what capability to give whom.
Disabling other buttons shouldn't be hard if you can get to the native API. So once the phone is jailbroken......
Actually, Microsofts own Q&A on Windows Phone 7 states to look in the Marketplace for additional ringtones. Here is an excerpt and a link:
To find a ringtone in Marketplace
1
On Start, tap the arrow to go to the App list, then tap Marketplace .
2
Press the Search button.
3
Do one of the following:
•
To browse a variety of ringtones, type ringtones, then tap Enter .
•
To look for a more particular type of ringtone, type something more specific, like Halloween ringtones.
Tip
To hear what a ringtone or alert sounds like, tap Play .
Note
Marketplace may not be available in your country or region.
Click to expand...
Click to collapse
http://www.microsoft.com/windowsphone/en-us/howto/wp7/start/ringtones-and-sounds.aspx
All well and good having that, but why should we purchase a ring tone?
TheDisneyMagic said:
All well and good having that, but why should we purchase a ring tone?
Click to expand...
Click to collapse
Well, I don't see myself buying any, but this means an app could be made to create/add ringtones.
Long press on a song in Zune won't let you set it as the ringtone?
Iridox said:
Long press on a song in Zune won't let you set it as the ringtone?
Click to expand...
Click to collapse
Nope, I asumed this would be how it worked but no option in the list to do so.
Ah, that's a PITA >_>
naplesbill said:
Well, I don't see myself buying any, but this means an app could be made to create/add ringtones.
Click to expand...
Click to collapse
A whole app just to add a ringtone!?
naplesbill said:
Actually, Microsofts own Q&A on Windows Phone 7 states to look in the Marketplace for additional ringtones. Here is an excerpt and a link:
http://www.microsoft.com/windowsphone/en-us/howto/wp7/start/ringtones-and-sounds.aspx
Click to expand...
Click to collapse
To me that excerpt looks like you can download ringtones from the store, not that you can create an app to download ringtones. It would appear that Microsoft has an internal application that can add ringtones (which makes sense). These permissions are enforced by the OS, not the app store (maybe the app store does too). So if they want to be able to install ringtones, they need to give their own app permission to do so.
athompson said:
Looking around the IMGFS, I found some undocumented capabilities that can be used in building an app (in addition to the standard ones mentioned in the WMAppManifest.xml file).
These are the extra ones I found, in case anyone is interested (from BasePolicy.xml):
ID_CAP_RINGTONE_ADD:Allows ringtone-marketplace applications to read/write into the Ringtones directory
ID_CAP_MEDIALIB:Access to the media library - read, play-back, etc.
ID_CAP_INTEROPSERVICES:Temporary Interop Service Capability.. To be removed by feature team
ID_CAP_SIMrovides access to SIM manager API
ID_CAP_SMSrovides access to SMS API
ID_CAP_WAProvides access to WAP API
ID_CAP_IDENTITY_USER:Allow an application to use a phone.info.dll to retrieve user properties
ID_CAP_TESTPUBLIC1:Small public test capability
ID_CAP_LOADUNSIGNEDMANAGEDDLL:Capability to load unsigned managed dll into chamber's process space
ID_CAP_LOADUNSIGNEDNATIVEDLL:Capability to load unsigned native dll into chamber's process space
ID_CAP_DEBUG:Allow an application to run in debugging enviorment.
Visual Studio won't let you add all of them directly, but uncompress your .xap in the build directory, and add it manually.
If anyone is thinking of doing this, the phone rejected my attempts to do so. I tried to give myself ID_CAP_LOADUNSIGNEDNATIVEDLL, but it wouldn't even load on the phone. Oh well.
Click to expand...
Click to collapse
But if someone use these things in an application , I think microsoft doesn`t approve it in the market place!
amir_rafie said:
But if someone use these things in an application , I think microsoft doesn`t approve it in the market place!
Click to expand...
Click to collapse
Ya, not only that, they probably automatically check to make sure you don't try to use them. The phone automatically checks, too.
The main reason I put them here is because I couldn't find them documented anywhere on the web, and I thought it would be good to save someone the time if they started down the same path I did.
hopefully once there is a jailbreak that turns of security/cert checking we can add these capabilities to our apps. Im particularly interested in the p/invoke capability.
indiekiduk said:
Im particularly interested in the p/invoke capability.
Click to expand...
Click to collapse
YES! It would make the world beautiful and skies turn blue.
So I set up VS 2010 and tried debugging an app that had a simple DLLImport in it and ID_CAP_INTEROPSERVICES in the manifest, however it still crashed with a MethodAccessException. It was def a valid dll and method name because I took it from one of the DLLImports in the system.location .net dll decompiled with Reflector.
indiekiduk said:
So I set up VS 2010 and tried debugging an app that had a simple DLLImport in it and ID_CAP_INTEROPSERVICES in the manifest, however it still crashed with a MethodAccessException. It was def a valid dll and method name because I took it from one of the DLLImports in the system.location .net dll decompiled with Reflector.
Click to expand...
Click to collapse
Interesting. If your app installed, it means you were able to get the ID_CAP_INTEROPSERVICES permission, because if the phone rejects your permission, it rejects it at install time. Maybe the DLL path was wrong, like you need to do ..\DLLNAME.dll or something.
indiekiduk said:
So I set up VS 2010 and tried debugging an app that had a simple DLLImport in it and ID_CAP_INTEROPSERVICES in the manifest, however it still crashed with a MethodAccessException. It was def a valid dll and method name because I took it from one of the DLLImports in the system.location .net dll decompiled with Reflector.
Click to expand...
Click to collapse
Try a relative URI path. ./DLLName.dll
On the subject of Native Applications on Windows Phone 7:
A few days ago, an Application called "Network Profile" appeared in the Samsung Zone of my Omnia 7's Marketplace.
This app is the first external app that uses native code - The Marketplace says that it "Requires access to your interop services", and on opening the XAP on my PC, I found it to contain three native COM DLLs, alongside two .NET DLLs and a further native DLL with MUIs that appear to only serve to hold resources.
I'm not sure whether this can be linked to here, so I'm going to describe the interesting parts.
It has not one, but three XMLs - the typical WMAppManifest.xml (pastebin.com/uEJWdTuA), a WMAppPRHeader.xml (pastebin.com/AVcv7JUX) which seems to have something to do with PlayReady DRM, and most interestingly WMInteropManifest.xml (pastebin.com/NCVKP6kM).
There is also the AppManifest.xaml (pastebin.com/rRrB090h).
The NetworkProfile.dll has a number of COM Imports like so:
Code:
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("F1113B13-AAB8-45E9-91A5-CBE568C29612")]
internal interface INwProfInterface
The Constructor for the class containing all the COM Interfaces:
Code:
ComBridge.RegisterComDll("NwProfDLL.dll", new Guid("4A2580BA-11A3-49AB-AC98-C30B5E72D381"));
this.NwInterface = (INwProfInterface) new CNwProfClass();
ComBridge.RegisterComDll("SecVersion.dll", new Guid("DFE52822-B526-4913-807A-D2AABC7BF911"));
this.SecVerInterface = (ISecVersionInterface) new SecVersionClass();
ComBridge.RegisterComDll("COMRilClient.dll", new Guid("A18F6B1A-924E-4787-AA82-19F98B49CF5D"));
this.SecRILControlInterface = (ISecRilControl) new COSecRilControl();
Happy to answer any questions, and if allowed, either guide people to getting it themselves, or providing a download link to the XAP.
Sweet, good find! I downloaded that app. How did you get it off your phone? If you have a download link to the XAP no one will complain, either.
I've finally reach 10 unsigned app on my phone. Took way longer that I thought...
This is not new for anyone who's not spending time asking for unlock key, but I've made a small app to automate the process of pushing the limit to 100000.
Here it is: http://bit.ly/qpVyR4
Work on my HTC, may work on other device as well (let me know).
Warning: At least one person had problem deploying app on his Samsung after running this app.
Edit: Updated version with rollback button (which already exists but was hidden )
this has been out for like a month now..... but good job of creating one!
http://forum.xda-developers.com/showthread.php?t=875885
Exactly what I said... nothing new but packaged as a XAP
Advanced Configuration Tool for WP7 Beta
http://forum.touchxperience.com/viewtopic.php?f=11&t=590&p=2349
has an option to remove the limit, plus set as many colour schemes as you like, and add single registry keys directly.
Its still beta but works a treat so far on my HD2, and comes with about 50 colours for the theme, or input your own with hex codes.
This tools works only on HTC. Minne should work on Samsung too, maybe on LG.
But if you have an HTC, AdvConfig is probably easier to use.
I'm not spending much time making pretty app
I ran this earlier (along with setting the key manually before), and it doesn't work. I still was limited to 10 apps.
But now, frighteningly, I'm unable to deploy -some- apps from Visual Studio (limit reached). I have a real dev unlock, never messed with Chevron.
Thanks, (nico)! I've removed this (stupid!) limit on my Focus (officially unlocked), everything works fine including deployment/debug from VS 2010. Good job!
davux said:
I ran this earlier (along with setting the key manually before), and it doesn't work. I still was limited to 10 apps.
But now, frighteningly, I'm unable to deploy -some- apps from Visual Studio (limit reached). I have a real dev unlock, never messed with Chevron.
Click to expand...
Click to collapse
I'm also officially unlock.
Like with folks with Chevron, I think the limit will be reseted periodically by Zune.
What do you mean by "some" apps?
You can't install more than 10 apps?
Not sure what do you mean, but I'll try to answer.
Using (official) unlock method, you won't be able to deploy more than 10 unsigned apps. 3 if you have a student account.
Chevron also have the same 10 limit (because they intentionally keep MS limit).
This registry tweak try to remove that limit.
In either way, this don't modify the number of app you can install though Marketplace, which is not limited.
(nico) said:
I'm also officially unlock.
Like with folks with Chevron, I think the limit will be reseted periodically by Zune.
What do you mean by "some" apps?
Click to expand...
Click to collapse
I set the key manually in the code Rusty released for the Samsung devices the other day. I wasn't able to deploy the 11th app via VS. I continued dealing with it until I got your XAP, I ran that yesterday and now sometimes I have trouble deploying in VS, even with <10 apps. Restarting VS and the phone doesn't have any effect.
Not that I'm blaming you or anything - just figured I'd note my experience. Some projects will still deploy, not sure of the pattern yet.
Thanks, that the kind of feedback I'm looking for. I'll add this to the first post to warn people.
If you have more infos, please share so we can have something more stable.
Thanks!
* Works on [Europe] Omnia 7
Ah this is the tool that some XDA user was trying to pass off as his own tool.
The big Athiest said:
Ah this is the tool that some XDA user was trying to pass off as his own tool.
Click to expand...
Click to collapse
What are you talking about?
(nico) said:
What are you talking about?
Click to expand...
Click to collapse
Look up the RRTool in this forum that I wrote, he is basically saying I rebranded the Chevron Tool as my own, even though my Tool runs on the device not from desktop and only prevents relocking, it doesnt actually unlock a device like chevron does. He only has 2 posts and tried to ruin my credability! Not Happy!
He is a lame troll. Don't pay attention. Thank you both guys! Great job!
P.S. Just a small remark: after using your tools (first I've tried (nico)'s tool, later (toady) RRTool. Both works good but behavior of VS 2010 a little bit changed. Now I can't deploy project via Zune - must close it first and use WPConnect.
Did you try to restore the original value (probably 10 for most users) and see what happends?
Nope, I didn't. Just have no time to browse for Samsung's registry editor or reflect back your's or lyriquidperfection app. Could you add an option to restore back an original values? Anyway, it's not a real problem. MS limitation of 10 app (or 3 for student account) it's just stupid and unfair. What, if I have more than 10(3) homebrew projects to debug and run? What, if I want to recreate all apps I need by myself? But of course the "MS greediness sux!" is not a topic for this thread
sensboston said:
Nope, I didn't. Just have no time to browse for Samsung's registry editor or reflect back your's or lyriquidperfection app. Could you add an option to restore back an original values? Anyway, it's not a real problem. MS limitation of 10 app (or 3 for student account) it's just stupid and unfair. What, if I have more than 10(3) homebrew projects to debug and run? What, if I want to recreate all apps I need by myself? But of course the "MS greediness sux!" is not a topic for this thread
Click to expand...
Click to collapse
Sorry I thought I did it but the button was hidden
Here is an updated version with a restore button to 10 apps: http://bit.ly/gKZDgj
All the apps in the program lists are by default, capitalized.
I've downloaded some apps from the marketplace that begins with a lowercase letter and it's annoying.
How can i edit the name of the app so that it begins with a captial letter?
thank =D
It is not possible to change the name of installed apps on your phone. The reason some games maybe be capitalized / not capitalized in the Marketplace and then be the opposite on your phone is because the application title that you see in the Marketplace and what you see once it is installed on your phone are actually defined it two different places by the developer. The name you see in the Marketplace is defined when the developer is submitting their app for certification. The name you see on the tile is actually configured in the project itself while the game is in development. We have never messed up and done this, but I a guessing that if say I submitted an app in the Marketplace under the name "Best App Ever", but in my project I defined the deployment name as "Super Awesome Application", it would fail certification due to the conflict in names. However, we have ran into a situation where some changes got undone unintentionally before publish that caused a slight discrepancy in the names. It was listed in the Marketplace as State Capitals Quiz, but once installed it, the tile said StateCapitalsQuiz. Apparently this was not a big enough problem for Microsoft to fail it for certification. So I would think that app names having some capitalization inconsistencies certainly would not be enough either.
Open the XAP with winrar, extract the files, edit the name in WMAppManifest.xml then save. Copy the edited file back into the xap with winrar and sideload.
Hope this helps
This helped a lot. Thanks!
Hi guys
Ive got my hands on the new Samsung call blocking app, ive installed it to my HTC Titan. It does fire up but cant do much with it.....
http://wmpoweruser.com/samsung-releases-call-blocking-app-for-its-devices/
Hopefully someone here can make it work for the rest of us.
Kev
Update..... Ive now uploaded the unchanged xap with the INTEROPSERVICES unchanged
Sutt359 , thanks!
yes, I too tried installing it on my Mozart. Deploying worked, actually, but it throws an error when I try to add a number to the blocklist. Hope someone can make this work
Localhorst86 said:
yes, I too tried installing it on my Mozart. Deploying worked, actually, but it throws an error when I try to add a number to the blocklist. Hope someone can make this work
Click to expand...
Click to collapse
Same error on my OMNIA 7. It looks like that it´s only for the OMNIA W or the new Focus devices...
Localhorst86 said:
yes, I too tried installing it on my Mozart. Deploying worked, actually, but it throws an error when I try to add a number to the blocklist. Hope someone can make this work
Click to expand...
Click to collapse
tried on Hd7, the same result. any idea how to uninstall the app from system?
thanx!
Redeploy the app but Change the HubType from "268435456" to anything else or delete it from the WMAppManifest.xml inside the XAP
I have the same problem , Error when put number in the field and save on Omnia 7
wait, I can't even get the app to work on my samsung focus, it says, this app is not available for your device...help?
I installed this just now, with the mod from above, and it starts up, has it's own listing in the programs list, but doesn't actually do anything. When you try to add a number it just returns to the app list (aka crashes). On next start the numbers list is empty. Omnia 7
Maybe somebody removed ID_CAP_INTEROPSERVICES from the app's manifest? This app uses a native DLL called SecProxyClient.dll. My guess is that this app needs to call into a driver found on Samsung phones. In order to do that, it'll need ID_CAP_INTEROPSERVICES specified in its manifest. Maybe try that?
I'm going to see if I can figure out what the app is doing. With luck, it's something I can duplicate on other phones, like a registry edit or some such. If it requires a function that only the Samsung driver has, though, the odds aren't good this side of a custom ROM.
Dammit, I've wanted this feature, too...
Deploy Works in Lg optimus 7 but the App not. I don´t have error messages but don´t save the numbers.
Thanks
Well, pasting "ID_CAP_INTEROPSERVICES" into WPInteropManifest.xml doesn't seem to make any difference.
Wrong manifest. It's a capability. It goes in WMAppManifest.xml.
These are pretty basic elements of homebrew or even official WP7 app development, but just to make life easier for people, I'll attach a version with the modification.
Remember that I can't test this app; I have no idea if this will help at all or not. It's a reasonable guess, though. There's also a weird file, just called "_" and containing a string of Hax values. I don't know what it's used for or how important it is.
GoodDayToDie said:
Wrong manifest. It's a capability. It goes in WMAppManifest.xml.
These are pretty basic elements of homebrew or even official WP7 app development, but just to make life easier for people, I'll attach a version with the modification.
Remember that I can't test this app; I have no idea if this will help at all or not. It's a reasonable guess, though. There's also a weird file, just called "_" and containing a string of Hax values. I don't know what it's used for or how important it is.
Click to expand...
Click to collapse
Samsung Focus 1st gen, still get error " Failed to save. Application may not work properly."
Here is the site where it talks about it, and when you goto the site to download it says app not found, so they may be having problems with it in general.
http://wmpoweruser.com/samsung-releases-call-blocking-app-for-its-devices/
GoodDayToDie :
I tried it on Focus and it gave me an error when I tried saving a contact with message as
"Failed to Save. Application may not work properly"
Interesting that GoodDayToDie's mod does change something though. Instead of just exiting it does give that error message now.
I vote we add more things to manifest files!
Seems like it's removed from marketplace; may be 'cause of bugs. Let's check app update later...
It's also using a DLL I've not actually seen before. It might be targeting a driver that's only found in the Focus S or some such silliness.
GoodDayToDie said:
It's also using a DLL I've not actually seen before. It might be targeting a driver that's only found in the Focus S or some such silliness.
Click to expand...
Click to collapse
Here's the xap I been used and worked for my Focus S. I deployed it with resumable xap deployer.
ManelScout4Life said:
Here's the xap I been used and worked for my Focus S. I deployed it with resumable xap deployer.
Click to expand...
Click to collapse
It is throwing an error while deploying asking to Re-sign will valid signature and fix manifest file. Can you fix that ?
I was wondering if anyone would know how to port an old WM app to WP7.5 it is ShopAid, from Maximus Mobile. I don't know how to decompile it. Just Decompile From Telerik doesn't lok at .cab files. I don't know if the original dev is still on this site, but if theis could be ported to WP and metro-fied that would be great.
why don't you try one of the (free) regular WP7 applications from the marketplace? There's quite a bunch of them, look here.
I would still love this if this was possable, to inport a cab file into a project....
You'll need to find another app because decompiling a Windows Mobile app is just not going to happen. It would be easier just to write the app from scratch.
anon1811 said:
why don't you try one of the (free) regular WP7 applications from the marketplace? There's quite a bunch of them, look here.
Click to expand...
Click to collapse
The main reason I liked this one is you can put a lot of info on an item. Such as what store, the aisle it was found in etc. This way I can organize my list by the store and aisle so I know exactly what I need from what aisle and i can get it done faster
Try to configure a general-purpose database app?
There are now a number of general-purpose database apps in the Marketplace now (named "Database", "My Database", or similar) that allow you to freely specify the structure of your database, i.e. the fields, their order, their types and lengths, etc. You could then "put a lot of info on an item", in fact as much as you configure.
Maybe you could use one of those database apps to build your very own dream shopping list "app" yourself?
Only thing I want from Windows Mobile besides TomTom navi (I like tomtom a lot better than garmin) is the simple UNO game. It was a quick, small and single player, just like when people play solatare.
rbrunner7 said:
There are now a number of general-purpose database apps in the Marketplace now (named "Database", "My Database", or similar) that allow you to freely specify the structure of your database, i.e. the fields, their order, their types and lengths, etc. You could then "put a lot of info on an item", in fact as much as you configure.
Maybe you could use one of those database apps to build your very own dream shopping list "app" yourself?
Click to expand...
Click to collapse
This is a possibility. I will check it out. I just liked this app on my Omnia 2 and figured I would throw it out there.
Ren13B said:
You'll need to find another app because decompiling a Windows Mobile app is just not going to happen. It would be easier just to write the app from scratch.
Click to expand...
Click to collapse
..... They ported over opera mobile and opera mini, why not any other apps?
I'd keep an eye on the WML project by DFT though.
http://www.youtube.com/watch?v=1FNls9Hi6TQ
link68759 said:
..... They ported over opera mobile and opera mini, why not any other apps?
I'd keep an eye on the WML project by DFT though.
http://www.youtube.com/watch?v=1FNls9Hi6TQ
Click to expand...
Click to collapse
Yea, a project that they only said something months ago(look at the date of it, back in feb), and never showed anything else... I would love to see NEW news on this. I even posted looking for new info a while ago....
http://forum.xda-developers.com/showthread.php?t=1618068
Not sure if they ported over Opera or Mini, they re-created them.