Knowledge Base - Code used to get app package name (product id)

Below is the code used to get the app package name (ProductId).

Unfortunately the ProductId is returned by Microsoft only after the first submission of app executable.

 

static inline bool get_pkg_name(char *pkg, char *pkg1, char *pkg_up, char *pkg_up1)
{
 //String ^str = Windows::Phone::Management::Deployment::InstallationManager::FindPackagesForCurrentPublisher()->First()->Current->Id->ProductId;
 String ^str = nullptr;
 try
 {
  Windows::ApplicationModel::Package ^package = Windows::ApplicationModel::Package::Current;
  if (!package) return false;
  str = package->Id->Name;
 }
 catch (Exception ^ex)
 {
  return false;
 }
 if (!str) return false;
 WideCharToMultiByte(CP_ACP, 0, str->Data(), -1, pkg, 256, NULL, NULL);
 pkg1[0] = '{';
 ansi_cpy(pkg1 + 1, pkg);
 ansi_cat(pkg1, "}");


 ansi_cpy(pkg_up, pkg);
 char *cur_up = pkg_up;
 while (*cur_up)
 {
  if (cur_up[0] >= 'a' && cur_up[0] <= 'z')
   cur_up[0] -= 'a' - 'A';
  cur_up++;
 }
 pkg_up1[0] = '{';
 ansi_cpy(pkg_up1 + 1, pkg_up);
 ansi_cat(pkg_up1, "}");
 return true;
}
static inline bool get_pkg_name2(char *pkg, char *pkg_up)
{
 //String ^str = Windows::Phone::Management::Deployment::InstallationManager::FindPackagesForCurrentPublisher()->First()->Current->Id->ProductId;
 String ^str = nullptr;
 try
 {
  str = Windows::ApplicationModel::Store::CurrentApp::AppId.ToString();
  if (!str) return false;
 }
 catch (Exception ^ex)
 {
  return false;
 }
 WideCharToMultiByte(CP_ACP, 0, str->Data(), -1, pkg, 256, NULL, NULL);


 ansi_cpy(pkg_up, pkg);
 char *cur_up = pkg_up;
 while (*cur_up)
 {
  if (cur_up[0] >= 'a' && cur_up[0] <= 'z')
   cur_up[0] -= 'a' - 'A';
  cur_up++;
 }
 return true;
}

 

and, then got package name by these codes:

 char pkg[256];
 char pkg1[256] = { 0 };
 char pkg_up[256];
 char pkg_up1[256] = { 0 };
 if (!get_pkg_name(pkg, pkg1, pkg_up, pkg_up1))
 {
  if (!get_pkg_name2(pkg, pkg_up))
   return false;
 }

 

Applies To

RadaeePDF SDK for Windows 10

Details

Created : 2016-12-12 10:25:34, Last Modified : 2017-10-25 08:30:38