Windows 7 Forums


Windows 7: Marketplace Client, Your Applications, and Registry Key

12 Oct 2009   #1

Windows 8 Pro
Standish, Lancashire, England
 
 
Marketplace Client, Your Applications, and Registry Key

Quote:
The Windows Marketplace for Mobile is off to a great start since its release October 6th. One issue that has tripped up a few developers submitting their applications has been the use of internal registry keys used to determine the location of the application. Some clever developers have discovered that there is a list of installed applications stored in the registry under: HKEY_LOCAL_MACHINE\Software\Apps. Under the application name, you will find the directory in which the application has been installed. For example:

HKEY_LOCAL_MACHINE\Software\Apps\Company Application NameInstallDir=”\Program Files\Application Name”
a similar list can be found here:



[HKEY_LOCAL_MACHINE\Security\AppInstall\Company Application Name]InstallDir=”\Program Files\Application Name”


Since Windows Mobile does not support the concept of a current working directory, this has been one way to determine where the EXE is running from. A better approach, that is not dependant on these registry keys,  uses the following code (See Chistec’s blog post):

GetModuleFileName(GetModuleHandle(NULL), pszFullPath, MAX_PATH);


For managed code (See Chistec’s blog post):

using System.Reflection;private string GetApplicationExe(){ // Determine the full path to the application executable return Assembly.GetExecutingAssembly().GetName().CodeBase;}You can then parse out the application path from the returned file name.



So what is wrong with using these undocumented registry keys? When your application is installed by the Marketplace client, it creates these registry keys, but not with the names you would expect. Therefore, if your application is relying on any of these keys, if will fail to find them, because they will not exist.  This has tripped up a few developers because this issue does not surface unless you install the application after it has gone through the Marketplace ingestion process. (The processing of your application after it has passed certification testing.)

To summarize, if you need to get the directory in which it was your application was installed, use either the native or managed APIs above. Also, make sure you are not using either of these undocumented registry keys.

Thanks,

Mike


More...
My System SpecsSystem Spec

Reply

 Marketplace Client, Your Applications, and Registry Key problems?



Thread Tools



Similar help and support threads for: Marketplace Client, Your Applications, and Registry Key
Thread Forum
Cisco VPN Client, registry problem. Software
registry access through Cisco Anyconnect client General Discussion
Registry change to allow ctrl+alt+del from GoToMyPC client Customization
Mail Client location in registry Browsers & Mail
Relax, Office 14 client applications will not have ads News


All times are GMT -5. The time now is 11:52 AM.


Seven Forums Android App Seven Forums IOS App Follow us on Facebook

Windows 7 Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows 7" and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32