2.2 KiB
2.2 KiB
Package Layout
The Package Support Framework makes some assumptions about which files are present in the package, their location in the package, and what their file names are. These requirements are:
File Name | Requirements |
---|---|
PsfLauncher32.exe PsfLauncher64.exe |
This is the entry point to the application that appears in the AppxManifest. There is no naming requirement imposed on it and the only path requirement is that it be able to find PsfRuntimeXX.dll in its dll search path. In fact, you can relatively easily replace this executable with your own if you wish. In general, it is suggested that you match this executable's architecture with that of the target executable to avoid unnecessary extra work. You can find more information on MSDN |
PsfRuntime32.dll PsfRuntime64.exe |
This must be named either PsfRuntime32.dll or PsfRuntime64.dll (depending on architecture), and must be located at the package root. For more information on this dll, you can find its documentation here |
PsfRunDll32.exe PsfRunDll64.exe |
Its presence is only required if cross-architecture launches are a possibility. Otherwise, it must be named either PsfRunDll32.exe or PsfRunDll64.exe (depending on architecture), and must be located at the package root. For more information on this executable, you can find its documentation here |
config.json | The configuration file must be named config.json and must be located at the package root. For more information, see the documentation on MSDN |
Fixup dlls | There is no naming or path requirement for the individual fixup dlls, although they must also be able to find PsfRuntimeXX.dll in their dll search paths. It is also suggested that the name end with either 32 or 64 (more information can be found here) |
In general, it's probably safest/easiest to place all Package Support Framework related files and binaries directly under the package root.