Hi Alexis, what if we just used a hard-coded name for the subdirectory that holds the app content?
E.g. com.example.foo/ + xwalk.exe + locales/ + pak etc + wwwroot/ (for lack of a better name, maybe approot/ ... you get the idea) + etc ... On startup, xwalk would always look for wwwroot/manifest.json relative to its own dir. Do you think that would work? On 23 May 2016 at 19:51, Alexis Menard <ale...@menard.io> wrote: > Hi, > > [Disclaimer] This intent is meant to start discussion so I'm looking > for feedback [/Disclaimer]. > > The feature is a requirement for Project Centennial support or > Crosswalk apps on the Windows Store. > > In the context of the Windows Store, applications do not take any > command line arguments. They have an entry point and there is no way > to pass a command line arguments like on old school Win32 apps. They > expect to launch themselves and do their work. Of course this does not > fit with Crosswalk for several reasons starting with the fact that the > manifest used to launch the app is passed as a parameter, also many > debug options are passed to the main xwalk executable, or external > extensions are specified as a command line argument. Please note that > this limitation does not apply to the processes that xwalk spawn as we > use the Win32 API to spawn them (for example extension process, render > process or gpu process do not suffer that limitation). > > In my POC to support these apps I've implemented a quick solution. I > would like to merge a solution to Crosswalk master so that we're ready > for Centennial at the release date (~Summer 2016). > > Some context is now needed to fully understand the problem. The > Crosswalk apps on the Store is achieved using the Centennial tool that > Microsoft has released (works only with the latest Windows 10 Insider > builds). The tool takes the .msi that app-tools produces and convert > it to a UWP App (or to be more exact, it produces an .appx). That app > can then be signed and sideloaded on your dev machine (or in the > future ready to be uploaded on the Store). > > Back to the problem, here are the 3 solutions I thought could be adopted : > > - Teach app-tools to write the startup path (the manifest) and the > command lines arguments to the registry. The registry is emulated in > Centennial so it doesn't pollute the main registry. Crosswalk will > then read the registry in case there is nothing to launch (nothing was > passed as a parameter). This is obviously a Windows only solution and > Registry is considered as a legacy from the Microsoft standpoint. If > we plan to move that feature to other platforms for some reason, it's > not going to work (that said maybe there is no need). > > - Teach app-tools to create a startup.json file with all the > information needed for Crosswalk to start itself (as well as command > line arguments specified by the dev) if there are no arguments passed. > This file is created when producing the .msi. This is the solution I > currently used in my POC. It's working great. The solution could be > cross platform if needed. Crosswalk will then read that file when > starting. > > - Modify the .msi structure when installing a crosswalk app so that > the developer application is not anymore in a separate directory. For > example as of today applications are getting installed in > C:\Program Files\myappname where the root contains all xwalk files > (xwalk.exe, locales/, ...). The actual application is in a > subdirectory myappname/ : developer files are then separated from > xwalk files. We could modify that and put all the files inside the > root dir of the applications. Then xwalk will just try to read the > manifest.json of the app which is located alongside xwalk executable. > > Thoughts? > > Thanks. > _______________________________________________ > Crosswalk-dev mailing list > Crosswalk-dev@lists.crosswalk-project.org > https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev -- Intel GmbH - Registergericht Muenchen HRB 47456 - Dornacher Strasse 1, 85622 Feldkirchen, Germany _______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev