Hello,

This is a very brief explanation what to do if you want to deliver your application to the Windows Store:

Prerequisites:

A real windows machine with Windows Pro (no virtual machine).
You will need to install the centennial tools and the "desktop app converter" from the Windows store as well as the windows kits.
Make sure the reference image has the same build number as your windows installation.
You need to make a silent installer package using your normal installer.
You have to sign your app and installer with a Microsoft recognised codesign certificate such as Digicert.

You have to ask Microsoft to be part of the early bird program for the desktop converter and sign their contracts to get fully thrust authorisations for the final windows installer

You have to make sure the Company as spelt in your installation package is identical to your and windows account company name.

Dropbox shall be turned off otherwise the converter will continue to throw access denied errors and not a single application shall be open on the converter directories (not even file explorer)

Run a command line as administrator and then do something like:

DesktopAppConverter -Installer C:\Users\Maarten\Dropbox\StakePoint\DesktopAppConv erter\StakePoint_Setup.exe -InstallerArguments "/S" -Destination C:\Users\Maarten\Dropbox\StakePoint\DesktopAppConv erter -PackageName "StakePoint.StakePointProjects" -Publisher "CN=ADA52C1B-5D43-4DEA-9182-D92D46CFAC98" -Version 1.31.0.0 -MakeAppx -Verbose

You can remark here that the company name here is your windows store company account number.

You now will have an installer but most of all you will have the installer manifest and all the files in the right place.


In the case, we created the following AppxManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
<Identity Name="StakePoint.StakePointProjects" ProcessorArchitecture="x86" Publisher="CN=ADA52C1B-5D43-4DEA-9182-D92D46CFAC98" Version="1.31.0.0" />
<Properties>
<DisplayName>StakePoint.StakePointProjects</DisplayName>
<PublisherDisplayName>ADA52C1B-5D43-4DEA-9182-D92D46CFAC98</PublisherDisplayName>
<Logo>Assets\SampleAppx.50x50.png</Logo>
</Properties>
<Resources>
<Resource Language="en-us" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
<Applications>
<Application Id="StakePoint.StakePointProjects" Executable="StakePointPortfolio.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="StakePoint.StakePointProjects" Description="StakePoint.StakePointProjects" BackgroundColor="#777777" Square150x150Logo="Assets\SampleAppx.150x150.png" Square44x44Logo="Assets\SampleAppx.44x44.png" />
<Extensions>
<uap3:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="portfolio" Parameters="/v FILESTOLOAD &quot;%1&quot;">
<uap:SupportedFileTypes>
<uap:FileType>.portfolio</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>

Now in order to proceed to the next step this xml should be modified.
The converter will created standard icons so these can be replaced easily.

But also the DisplayName and PublisherDisplayName shall be modified.

After automated modifications the AppxManifest.xml will look like:

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
<Identity Name="StakePoint.StakePointProjects" ProcessorArchitecture="x86" Publisher="CN=ADA52C1B-5D43-4DEA-9182-D92D46CFAC98" Version="1.31.0.0" />
<Properties>
<DisplayName>StakePoint Projects</DisplayName>
<PublisherDisplayName>SASU STAKE POINT</PublisherDisplayName>
<Logo>Assets\StakePoint.50x50.png</Logo>
</Properties>
<Resources>
<Resource Language="en-us" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
<Applications>
<Application Id="StakePoint.StakePointProjects" Executable="StakePointPortfolio.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="StakePoint Projects" Description="StakePoint.StakePointProjects" BackgroundColor="#FFFFFF" Square150x150Logo="Assets\StakePoint.150x150.png" Square44x44Logo="Assets\StakePoint.44x44.png" />
<Extensions>
<uap3:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="portfolio" Parameters="/v FILESTOLOAD &quot;%1&quot;">
<uap:SupportedFileTypes>
<uap:FileType>.portfolio</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>

Next thing to do is to run the makeappx command in the following way:

"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe" pack /d "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\StakePoint.StakePointProjects\PackageFiles" /p "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\StakePoint.StakePointProjects\StakePoint.St akePointProjects.appx"

The will create you a new installer package taking account of the correct values:

The next thing is to sign this.

The respective commands are

1) to make a certificate:

"C:\Program Files (x86)\Windows Kits\10\bin\x64\MakeCert" /n "CN=ADA52C1B-5D43-4DEA-9182-D92D46CFAC98" /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e "01/01/2040" /sv "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\MyNewKey.pvk" "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\MyNewKey.cer"

To convert the certificate:
"C:\Program Files (x86)\Windows Kits\10\bin\x64\Pvk2Pfx" /pvk "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\MyNewKey.pvk" /pi XXXXYOUR PASSWORDXXX /spc "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\MyNewKey.cer" /pfx "C:\Users\Maarten\Dropbox\StakePoint\DesktopAppCon verter\MyNewKey.pfx"

To sign

C:\Users\Maarten\Dropbox\StakePoint\CodeSigning\Di gicert\SignTool sign /fd SHA256 /a /f C:\Users\Maarten\Dropbox\StakePoint\DesktopAppConv erter\MyNewKey.pfx /p XXXXYOUR PASSWORDXXX C:\Users\Maarten\Dropbox\StakePoint\DesktopAppConv erter\StakePoint.StakePointProjects\StakePoint.Sta kePointProjects.appx

have fun,

Maarten MOSTERT