Last news about Microsoft Project Centennial

Just wanted to share my elation of having finally succeeded in converting Check Writer to a New API application, AppX app executable !

It has been a rocky and tedious road, since as it often happens, documentation is kind of incomplete, and there are stuff to discover along the line. It is not at all a turnkey situation analogous to a Wine bottle packing a Windows app on Mac.

I have been at it on an off for a couple months now since my last post, and got stuck about dependencies, until tonight a good soul gave me the last piece of the puzzle.

So far so good, apart from a couple things, everything works as expected.

I will tell you more, as I make slowly my way towards the Windows Store.

Great news, Michel, congratulations. Many of us will be glad to hear more as you progress.

Congrats Michel. Persistence pays off :slight_smile:

I have to admit I was reaching my limits, though. Fortunately that guy from MSI gave me the tip I needed. Now I am working on getting that ready and off to the Windows Store. Most things work just the same, but it seems I cannot use helper apps.

I conceded defeat a few weeks ago.
Well done, Michel.
Considering the ‘ease’ that Microsoft described the process, it is astonishing how hard they have made the reality.

Are you in a position to document the how?

Typical Microsoft. It is simple, but information is scattered all over the place in Msdn, and some important things are left out. I had to besiege both the UWP forum and Stack Overflow’s Windows development channel to get the missing pieces. Plus I suggested the creation of a DesktopAppConverter forum, and to top it off, in a burst of anger, wrote to Satia Nadella suggesting the same thing and stressing how such a strategic move should be supported correctly. The ripple effects may yet show up later.

I am waiting to complete entirely the process up to the Windows Store before I post any how to.

There are still unclear things to sort out.

I thought I was the only one struggling with Msdn all those years.
@Michel Bujardet Great work. Would be so nice if we could have I recap of the process you’re going thru once you are finished.

I had success last week building and submitting an, ironically, old Xojo application. It installed directly from an InnoSetup installer EXE! I had to cancel it since it asks for a serial number.

I have almost had the same success (after much blood, sweat and tears over three weeks), but the side-loaded app using the latest Xojo Release 3.1 gives an error that a DLL is missing. It installs and runs fine using the InnoSetup version, so it must be a Centennial issue. The nice MS man suggested removing the Windows Runtime DLLs since they’re unnecessary (didn’t fix it). My next step is to try it as a 64-bit application. Below are some of the lessons I learnt.

Setting up a Windows PC for WAS Submission
Ensure containers are switched on in Windows:
1. Right clicking on the Start menu in Windows 10
2. Choosing Programs and Features
3. Choosing Turn Windows Features on or off on the left panel
4. In the list of options, enable Containers, wait for the installation to be completed and, eventually, reboot the computer if asked before trying the conversion again.

Install the complete Windows 10 SDK:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk

Install the Desktop Converter and Base Image from (note that BaseImage-14393.wim is about 3.5 GB!):
https://www.microsoft.com/en-us/download/details.aspx?id=53428

Run Desktop Converter as Admin then run:
PS C:\> Set-ExecutionPolicy bypass

Change the location of the base image on the next line then run:
PS C:\> DesktopAppConverter.exe -Setup -BaseImage “C:\Users\Dad\Documents\HMS Inno Setup files\BaseImage-14393.wim” -Verbose

Download and install the proper v14.0 VCLibs package using one the links (based on the VCLibs version) posted in the following blog: https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/. Be careful that the installer won’t actually install the dependencies, but it will just copy them into the following folder:

C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail

Inside this folder you’ll find a subfolder for each architecture (ARM, x86 and x64), with inside an appx that you’ll have to install on your machine. After that, the converted installer should work just fine.

For each WAS Submission

Build the Xojo app:
1. Build Windows 32-bit version
2. Remove the Windows Runtime files
3. Copy to Windows and build InnoSetup installer .exe
4. Run Desktop App Converter as Administrator with command:

cd “C:\myFolder with InnoSetupExe…”
DesktopAppConverter.exe -Installer “myNewAppName.exe” -Destination “My Build Folder” -PackageName “myNewAppName” -Publisher “CN=My Company Name” -Version 1.0.0.0 -MakeAppx -Verbose -Sign -InstallerArguments “/verysilent”

Note:
• If you’re going to edit the XML and logo pictures then leave off the -MakeAppx command and run MakeAppx.
• If you’re not going to side-load the application then leave off the -Sign command.

Drop the 3 versions of the logo (44x44, 50x50, 150x150) and replace the current pictures in the Assets folder.

Edit AppxManifest.xml in NotePad and:
• set the Identity Name with the Dev Centre identity:
• <Identity Name=“12345MyCompanyName. myNewAppName” …
• remove the ‘CD=’ text from My Company Name
• if there is a space in the application name, add it to:
• my New App Name
• <uap:VisualElements DisplayName=“my New App Name” Description=“my New App Name” BackgroundColor="#777777" Square150x150Logo=“Assets\SampleAppx.150x150.png” Square44x44Logo=“Assets\SampleAppx.44x44.png” />

Run an Admin Terminal session and MAKEAPPX the application with the new XML and pictures using:
cd “C:\ …My Build Folder\ myNewAppName”
“C:\Program Files (x86)\Windows Kits\10\bin\x86\makeappx” pack -d “PackageFiles” -p “myNewAppName.appx”

To re-sign the APPX certificate in an Admin Terminal use:
“C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool” sign /a /v /fd SHA256 /f “C:\… My Build Folder\ myNewAppName\auto-generated.pfx” /p “123456” “C:\ …My Build Folder\ myNewAppName\ myNewAppName.appx”

To install the new APPX application locally:
• Attempting to install the application will fail as we are side-loading and don’t have the correct certificate!
• Open the Package and double-click then ‘auto-generated.cer’ certificate. Choose Install certificate and, when you’re prompted where to install it, choose Local machine and then the option Place all certificates in the following store click the Browse button and choose choose Trusted Root Certification Authorities. Complete the installation.
• Try to install the application again.

Simple, no?!!!

You know I usually share what I discover. I am not at the end the tunnel, yet, but once I have been through the whole process and understand what is involved, I will post a how to.

David has already shared most of it.

I am in the process of submitting two apps for insertion in the Windows Store. Will keep you updated.

I just discovered a very good how to at
http://www.howtogeek.com/250041/how-to-convert-a-windows-desktop-app-to-a-universal-windows-app/

I would have saved time if I had found it before.

I love the page bottom last sentence:

Luckily, the process is extremely easy for developers, assuming their applications don’t require any functionality that isn’t supported by the UWP sandbox.

Is this called irony ?

[quote]I love the page bottom last sentence:

Luckily, the process is extremely easy for developers, assuming their applications don’t require any functionality that isn’t supported by the UWP sandbox.
Is this called irony ?[/quote]

Its called ‘lying to the bosses’
:slight_smile:

If you follow the how-to to the letter and don’t need dependencies, he is right. But there is the catch. Any dependency, and it becomes more complex. David has outlined the process for dependencies above :

[quote=292565:@David Cox]Download and install the proper v14.0 VCLibs package using one the links (based on the VCLibs version) posted in the following blog: https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/. Be careful that the installer won’t actually install the dependencies, but it will just copy them into the following folder:

C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail

Inside this folder you’ll find a subfolder for each architecture (ARM, x86 and x64), with inside an appx that you’ll have to install on your machine. After that, the converted installer should work just fine.[/quote]

So, Jeff, I guess you can start trying with your package. Make sure you have a silent installer.

I also found that you must have it create a shortcut in the Start menu for the converter to see which executable should be launched by the AppX.

Special thanks to @Michel Bujardet and @David Cox for all of the information to make an AppX installer application.

I managed to create a help file called GetAppInWindowsStore pdf, and this document is from much of the hard work of Michel and David. This goes through the steps to get a minimal Hello World application to an AppX installer. This Appx installer can then be installed on your computer so that you can see how a potential customer would view your program.

Attached is the Demo Program and InnoSetup Installer program.

I removed the icons because they made the files very large. There is much more that can be done and this helps provide a step-by-step set of instructions to at least be able to install the basics. Wow… it was not easy…

Thanks Eugene and all others for putting all the documents together in a single pdf. This is a great community who helps each other. Long live Xojo

I uploaded a newer version, and the new version will say to install all 8 packages in the Windows 10 SDK.

Uhh Eugene… your download link offers me a Popup with MacKeeper… you know… these kind of scareware you better do not even think to install.

Keep in mind, until the WAS becomes fully open you need to get approval from MS before you’ll be able to get your app certified. You’ll need to go through your MS contact to achieve this.

Congratulations, Eugene, that is a very nice job.

If I may, though, as it stands, it still lacks the part that starts where your document ends, which is the process to actually get the app in the Windows Store.

It is a bit less simple than simply upload, the app has to be approved by a Microsoft Rep, and the developer account, after vetting, has to have an addendum in order to publish converted apps.

Subsequently, every converted app must be approved the same way, not unlike what happens with Apple Reviewers.

I will try to Jot something later.

My remaining steps are:
Drop the 3 versions of the logo (44x44, 50x50, 150x150) and replace the current pictures in the Assets folder.
Drag a copy of XojoGUIFramework32.dll next to the exe.
• <Identity Name=“99999CompanyName.AppName” … Publisher=“CN=HEX-HEX-HEX-HEX-HEX
• remove the ‘CD=’ text from CD=AppName
• if there is a space in the application name, add it to:
• App Name
• <uap:VisualElements DisplayName=“App Name” Description=“App Name” BackgroundColor="#777777" Square150x150Logo=“Assets\SampleAppx.150x150.png” Square44x44Logo=“Assets\SampleAppx.44x44.png” />

Then rebuild your APPX in an Administrator Terminal, but DO NOT sign it if you want to release it to the WAS:
cd “C:\Users\YourName\Documents\My Folder\AppName”
“C:\Program Files (x86)\Windows Kits\10\bin\x86\makeappx” pack -d “PackageFiles” -p “AppName.appx”

Then submit by dragging this .APPX file onto the browser window section for submitting an app. For most problems it will return a failure within a minute on the browser page.