Friday, August 28, 2015

The publisher display name, $username$, specified in the package doesn't match the publisher name

Problem:

I was trying to publish latest upgrade to our app.  The Windows Phone version has just been completed.  No it is not a universal app yet.  That is coming.  This is a Windows Phone Silverlight 8.1 app.  I built the xap and went to deploy it to the store and got this weird error:

The publisher display name, $username$, specified in the package doesn't match the publisher name

Solution:

Turns out that Visual Studio can't update two very important files, package.appmanifest.xml and WMAppManifest.xml.  These have to be done by hand.  The MSDN article was not absolutely clear on where to go so I thought I would provide some cues. 

The MSDN article provides this handy table which required some careful reading to determine what was meant. 

Element or attribute to updateCorresponding value from your DashboardCorresponding field in Manifest Designer
Name attribute of the Identity element.Package identity name from the App info page.Package name on the Packaging tab.
DisplayName element.The reserved name for the app.Package display name on the Packaging tab.
Publisher attribute of the Identity element.Windows publisher name from the App info page.None.
Version attribute of the Identity element.Not applicable.Version on the Packaging tab.
PublisherDisplayName element.Publisher name from the Account summary page.Publisher display name on the Packaging tab.
Table 1

Step 1:

Go to the app page in the store
https://dev.windows.com/en-us/dashboard/apps/<Your App ID>/Identity

It provides the needed information for your app

Package/Identity/Name NameAppYour
Package/Identity/Publisher CN={App GUID}
Package/Properties/PublisherDisplayName Your App Name
Table 2

Step 2:

In Visual Studio, go to the release project in your solution and locate the file Package.appxmanifest.
Open this file and select the Packaging tab. 

Step 3:(Name attribute of the Identity element = Package/Identity/Name)

The package name listed should match should match the Package/Identity/Name in table 2.  If it does not then you will get an error when you try to publish to the store. 

Step 4:(PublisherDisplayName element = Package/Properties/PublisherDisplayName)

Ensure the Package Display name matches Package/Properties/PublisherDisplayName in table 2.

Step 5:(Publisher attribute of the Identity element = Package/Identity/Publisher.)

This last step requires you to leave Visual Studio and open the file Package.appxmanifest with notepad or text editor of your choice.  Visual Studio does not allow you to edit the last two fields which need to be done by hand.

Open the file and locate the identity element.  The publisher attribute should be set to the setting in
Package/Identity/Publisher.

<Identity Name="Your Package Name" Publisher="CN=Your Publisher ID" Version="1.0.0.0" />

Summary

Table 3 summarizes the changes and location for the elements.  Once I understood where the values were located I was able to load my Windows Phone app into the Windows Store without further errors.

Element or attribute to updateCorresponding value from your Identity Dashboard
Name attribute of the Identity element.Package/Identity/Name
DisplayName element.Select the Packaging tab in file Package.appxmanifest.
 Display name element allows you to change the value.
Publisher attribute of the Identity element.Package/Identity/Publisher
Version attribute of the Identity element.Select the Packaging tab in file WMAppManifest.xml. Version textbox allows you to change the value.
PublisherDisplayName element.Package/Properties/PublisherDisplayName
Table 3

Source

  1. https://msdn.microsoft.com/en-us/library/dn655122(d=printer,v=vs.105).aspx
  2. https://dev.windows.com/en-us/dashboard/apps/<Your App ID>/Identity

No comments:

Post a Comment