Announcement

Collapse
No announcement yet.

Unreal Engine 4 is available for Win10 UWP app dev now

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [MENTION=306073]Zelex[/MENTION], which image errors specifically were you getting? The 'empty or invalid value' one?

    On the whole incorrectly sized images don't produce errors during build. Build errors tend to come instead from bad pathing to the images. If you are getting the 'empty or invalid value' I'd suggest looking at the generated AppxManifest.xml (either in Saved/StagedBuilds/UWP or Binaries/UWPxx depending on whether you're building in-editor or from VS) and seeing whether there's anything obviously wrong with the elements/attributes called out in the error messages.

    Comment


      12> Empty or invalid value provided for required attribute Square150x150Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
      12> Empty or invalid value provided for required attribute Square44x44Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
      12> Empty or invalid value provided for required attribute Image on partially specified element Package.Applications.Application[0].uap:VisualElements.uap:SplashScreen

      <uap:VisualElements DisplayName="ms-resource:ProjectName" Description="ms-resourceescription" BackgroundColor="#000000" Square150x150Logo="Resources\Logo.png" Square44x44Logo="Resources\SmallLogo.png">
      <uap:SplashScreen BackgroundColor="#000000" Image="Resources\SplashScreen.png" />
      </uap:VisualElements>

      Looks ok to me?
      Click image for larger version

Name:	radlogo150.png
Views:	1
Size:	37.1 KB
ID:	1116570
      Click image for larger version

Name:	radlogo44.png
Views:	1
Size:	4.3 KB
ID:	1116571

      Comment


        Yep, those look as expected, which suggests the problem is with getting the image files to the proper staging location, not with the manifest generation. Do you have a Resources folder (containing those png files) sitting alongside your appxmanifest.xml?

        Comment


          yup, sure do

          Comment


            Well, this is a new one, and right now I'm stumped. I'm guessing that the build runs on to generate "MakePri: error 0x80080204: Appx manifest not found or is invalid." and then terminates shortly after? Returning to focus on the xml content itself and the validation process: can you see anything at all in the xml file that would be throwing off the parsing (sneaky unrenderable characters etc.)? Also, do you know what version of the Win10 SDK you have installed (since that's where the schema comes from)?

            Comment


              Yup, thats right.

              12>MakePri : error 0x80080204: Appx manifest not found or is invalid. Please ensure well-formed manifest file is present. Or specify an index name with /in switch.

              Here is a link to the binaries dir. https://www.dropbox.com/sh/79dd7dewo...sCuoYS33a?dl=0

              I'll see if I can trim out the proprietary stuff so I can get you a full project if you think that would help?

              Comment


                Oh and I'm using 10.0.10586.0

                Comment


                  Ok, so. this may be an issue?

                  This is at the top of the schema

                  <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">


                  http://schemas.microsoft.com/appx/ma...tion/windows10

                  is a broken link now

                  Comment


                    To confirm: when you get this error you're attempting to build/run in Visual Studio, not in the Unreal Editor?

                    Meanwhile I remain perplexed. The AppxManifest.xml file you provided validates for me in VS using the same schema set that UnrealBuildTool applies Specifically for the 10586 SDK these are:
                    Windows Kits\10\Include\10.0.10586.0\winrt\UapManifestSchema.xsd
                    Windows Kits\10\Include\10.0.10586.0\winrt\FoundationManifestSchema.xsd
                    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestTypes.xsd
                    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestSchema2010_v2.xsd
                    Windows Kits\10\Include\10.0.10586.0\winrt\AppxManifestSchema2013.xsd
                    Windows Kits\10\Extension SDKs\WindowsMobile\10.0.10586.0\Include\WinRT\AppxPhoneManifestSchema2014.xsd

                    Additionally I've confirmed that I'm able to manually run makepri against that file + a Resources directory and get valid output. I do see that your folder contains a resources.pri, which suggests that makepri succeeded at some point. Any idea what might have changed?

                    > makepri createconfig /cf priconfig.xml /dq en /o /pv 10.0.0
                    Writing PRI config file to priconfig.xml ...
                    Successfully Completed
                    > makepri /pr . /cf priconfig.xml /mn AppxManifest.xml /il resindexlog.xml /o /of resources.pri
                    MakePri: warning: Output location of PRI file(s) is detected to be under the project root. If previously generated PRI file(s) are present, these may be re-indexed and lead to unexpected results.
                    Index Pass Completed.
                    Language Qualifiers: en
                    Scale Qualifiers: 100

                    Finished building
                    Version: 1.0
                    Resource Map Name: UE4Game
                    Named Resources: 8

                    Resource File: resources.pri
                    Version: 1.0
                    Resource Candidates: 14
                    Language Qualifiers: en
                    Scale Qualifiers: 100

                    Successfully Completed

                    Comment


                      No I have no idea. I noticed that it created a pri file as well, but from the log it clearly doesn't work for some reason.

                      Yes, this is when I build from VS, though launching from the editor does the same. Building a package however fails for some kind of signing nonsense, but that is going to be my next thread once I resolve this one! lol



                      11> Target is up to date
                      11> Prepping UE4_UWP for deployment to UWP64
                      11> Writing PRI config file to E:\Unreal Projects\UE4_UWP\Intermediate\Deploy\priconfig.xml ...
                      11> Successfully Completed
                      11> Index Pass Completed.
                      11> Language Qualifiers: en
                      11> Scale Qualifiers: 100
                      11>
                      11> Finished building
                      11> Version: 1.0
                      11> Resource Map Name: UE4Game
                      11> Named Resources: 5
                      11>
                      11> Resource File: resources.pri
                      11> Version: 1.0
                      11> Resource Candidates: 10
                      11> Language Qualifiers: en
                      11> Scale Qualifiers: 100
                      11>
                      11> Successfully Completed
                      11> UWP deployment preparation took 0.18 seconds
                      12> Target is up to date
                      12> Prepping UE4Game for deployment to UWP64
                      12> Empty or invalid value provided for required attribute Square150x150Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
                      12> Empty or invalid value provided for required attribute Square44x44Logo on partially specified element Package.Applications.Application[0].uap:VisualElements
                      12> Empty or invalid value provided for required attribute Image on partially specified element Package.Applications.Application[0].uap:VisualElements.uap:SplashScreen
                      12> Validation error reading XML schema from XDK. The element 'Properties' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' has incomplete content. List of possible elements expected: 'Logo' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10'.
                      12> Validation error reading XML schema from XDK. The element 'Application' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' has incomplete content. List of possible elements expected: 'VisualElementsChoice' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' as well as 'VisualElements' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10'.
                      12> Writing PRI config file to E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\priconfig.xml ...
                      12> Successfully Completed
                      12> Microsoft (R) MakePRI Tool
                      12> Copyright (C) 2013 Microsoft. All rights reserved.
                      12>
                      12>MakePri : error 0x80080204: Appx manifest not found or is invalid. Please ensure well-formed manifest file is present. Or specify an index name with /in switch.
                      12>
                      12> Usage:
                      12> ------
                      12> MakePri.exe new /pr <project root> /cf <config file> [options]
                      12>
                      12> Example:
                      12> --------
                      12> MakePri.exe new /pr C:\MyApp\src\ /cf C:\MyApp\priconfig.xml /mn
                      12> C:\MyApp\AppXManifest.xml /of C:\MyApp\src\resources.pri /o
                      12>
                      12> Description:
                      12> ------------
                      12> Creates a PRI file at [outputfile] by indexing all files in the
                      12> [projectroot]and its subdirectories as directed by the [configxml]. The
                      12> index will be assigned [indexname] to reference resources in the application
                      12>
                      12> Required Parameters:
                      12> --------------------
                      12> /ProjectRoot(pr) : <FOLDERPATH> Root location of project files
                      12> /ConfigXml(cf) : <FILEPATH> Configuration file location. Use
                      12> 'Makepri.exe createconfig' command to generate one
                      12>
                      12> Options:
                      12> --------
                      12> /OutputFile(of) : <FILEPATH> Output location of PRI file, default is
                      12> [projectroot]\resources.pri
                      12> /Manifest(mn) : <FILEPATH> Location of the application or component's
                      12> manifest. This parameter is ignored if [indexname]
                      12> is given. Default is [projectroot]\AppXManifest.xml
                      12> /IndexName(in) : <STRING> Name for the generated index of resources.
                      12> Typically matches the AppX package name, class library
                      12> simple name, etc. May be supplied via the
                      12> [manifest] parameter.
                      12> /VersionMajor(vma): <INTEGER> [Deprecated] Major version number for
                      12> index, default is 1
                      12> /IndexLog(il) : <FILEPATH> XML Log of indexed resources, no file
                      12> generated by default
                      12> /AutoMerge(am) : This flag is not recommended for normal use with AppX
                      12> packages. It causes Makepri.exe to set the auto
                      12> merge flag within the PRI file. Default is not set.
                      12> /ReverseMap(rm) : Generate a reverse mapping section in the PRI file
                      12> which can be used for debugging purposes.
                      12> /MappingFile(mf) : <MAPPINGFILETYPE> Generate a mapping file in the given
                      12> file format.
                      12> /SchemaFile(sf) : <FILEPATH> Output location of XML resource schema
                      12> description.
                      12> /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
                      12> behavior of resource indexers.
                      12> /Overwrite(o) : Overwrite an existing output file of the same name
                      12> without prompting
                      12> /Verbose(v) : Causes verbose messages to be output to the console
                      12> /Help(h, ?) : Display the usage help text
                      12> /ExtensionDll(ex) : <FILEPATH> Location of the MRT environment extension
                      12> DLL. This DLL must be signed by a Microsoft-issued
                      12> certificate. Default is an empty path (no DLL
                      12> will be used).
                      12>
                      12>
                      12> FOLDERPATH - is a valid path to a folder
                      12> FILEPATH - is a path to a file, either relative to the current
                      12> directory or absolute
                      12> MAPPINGFILETYPE - Supported File type(s): 'AppX'
                      12>
                      12> UnrealBuildTool Exception: System.IO.FileNotFoundException: Could not find file 'E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\resources.pri'.
                      12> File name: 'E:\rad\MICROSOFT_UWP_UNREAL\Engine\Intermediate\Deploy\resources.pri'
                      12> at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
                      12> at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
                      12> at UnrealBuildTool.PackageResourceGenerator.GenerateResources(String OutputPath, String IntermediatePath, String LocalContentPath, String ProjectPathParam, String AppxManifestPath) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\ResourceGenerator.cs:line 465
                      12> at UnrealBuildTool.UWPDeploy.PrepForUATPackageOrDeploy(FileReference ProjectFile, String InProjectName, String InProjectDirectory, String InExecutablePath, String InEngineDir, Boolean bForDistribution, String CookFlavor, Boolean bIsDataDeploy) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\UWPDeploy.cs:line 202
                      12> at UnrealBuildTool.UWPDeploy.PrepTargetForDeployment(UEBuildTarget InTarget) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\UWP\UWPDeploy.cs:line 258
                      12> at UnrealBuildTool.UnrealBuildTool.DoPostStartupStuffThatCanAccessConfigs(String[] Arguments) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\UnrealBuildTool\System\UnrealBuildTool.cs:line 1379
                      12>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command "E:\rad\MICROSOFT_UWP_UNREAL\Engine\Build\BatchFiles\Build.bat UE4Game UWP64 Debug -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.

                      Comment


                        Its a shame I can't just run the executable. Then I can avoid all this stuff and get back to programming!

                        Comment


                          Actually, let me revise the above post. Launching from the editor gives me this error

                          ogPlayLevel: Project.Build: ********** BUILD COMMAND COMPLETED **********
                          LogPlayLevel: Project.CopyBuildToStagingDirectory: ********** STAGE COMMAND STARTED **********
                          LogPlayLevel: Project.WriteStageCommandline: Creating UE4CommandLine.txt
                          LogPlayLevel: Project.CreateStagingManifest: Creating Staging Manifest...
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Writing PRI config file to E:\Unreal Projects\UE4_UWP\Intermediate\Deploy\priconfig.xml ...
                          LogPlayLevel: Completed Launch On Stage: Build Task, Time: 8.511122
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Successfully Completed
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Index Pass Completed.
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Language Qualifiers: en
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Scale Qualifiers: 100
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Finished building
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Version: 1.0
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource Map Name: UE4Game
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Named Resources: 5
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource File: resources.pri
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Version: 1.0
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Resource Candidates: 10
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Language Qualifiers: en
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Scale Qualifiers: 100
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0:
                          LogPlayLevel: Utils.<RunLocalProcessAndLogOutput>b__0: Successfully Completed
                          LogPlayLevel: Project.CleanStagingDirectory: Cleaning Stage Directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
                          LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying NonUFSFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
                          LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying DebugFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
                          LogPlayLevel: Project.CopyManifestFilesToStageDir: Copying UFSFiles to staging directory: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP
                          LogPlayLevel: Project.CopyBuildToStagingDirectory: ********** STAGE COMMAND COMPLETED **********
                          LogPlayLevel: Project.Package: ********** PACKAGE COMMAND STARTED **********
                          LogPlayLevel: Project.Package: ********** PACKAGE COMMAND COMPLETED **********
                          LogPlayLevel: Project.Deploy: ********** DEPLOY COMMAND STARTED **********
                          LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException ---> System.Exception: Package could not be registered.
                          LogPlayLevel: E:\Unreal Projects\UE4_UWP\Saved\StagedBuilds\UWP\AppxManifest.xml(23,62): error 0x80073B17: Cannot register the UE4Game_1.0.0.0_x64__wvbrvc80n7t76 package because the following error was encountered while determining whether the ms-resourceescription string resource could be localized: NamedResource Not Found.
                          LogPlayLevel: . Check that the string resource is defined and that there is at least one instance defined in the resources.pri file contained in this package.
                          LogPlayLevel: --- End of inner exception stack trace ---
                          LogPlayLevel: at UWP.Automation.UWPPlatform.Deploy(ProjectParams Params, DeploymentContext SC) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\UWP\UWPPlatform.Automation.cs:line 57
                          LogPlayLevel: at Project.Deploy(ProjectParams Params) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Scripts\DeployCommand.Automation.cs:line 27
                          LogPlayLevel: at BuildCookRun.DoBuildCookRun(ProjectParams Params) in e:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:line 220
                          LogPlayLevel: at AutomationTool.BuildCommand.Execute() in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:line 27
                          LogPlayLevel: at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 547
                          LogPlayLevel: at AutomationTool.Automation.Process(String[] Arguments) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 517
                          LogPlayLevel: at AutomationTool.Program.MainProc(Object Param) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Program.cs:line 135
                          LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param) in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 704
                          LogPlayLevel: at AutomationTool.Program.Main() in E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Programs\AutomationTool\Program.cs:line 59
                          LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=35 (Error_AppInstallFailed)
                          LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 4.756436
                          LogPlayLevel: BUILD FAILED
                          PackagingResults:Error: Error Launch failed! Failed to Install app

                          Comment


                            Thanks, that's super helpful.

                            Your VS build output shows an attempt to deploy two different projects, UE4_UWP (which succeeds) and UE4Game (which fails). When you hit Build Solution for a UWP platform there's no filtering of game projects for whether or not they've configured UWP support. So if you're not interested in running UE4Game on UWP you can ignore its errors, or else limit the scope of your build to the project you care about rather than building the entire sln.

                            Your editor problem is different. You ought to be able to work around it by providing a non-empty Description string for your project (in the Project Settings->Description page).

                            Comment


                              ahha! Thanks! will check that out!

                              Comment


                                ok, so that works when I launch from the editor now which is fantastic!

                                When I debug from VS though it now runs the game, but crashes almost immediately with no symbols. Log says:

                                Assertion failed: HasFoundDataDirectory [File:E:\rad\MICROSOFT_UWP_UNREAL\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp] [Line: 128]
                                ICU data directory was not discovered:
                                ../../../UE4_UWP/Content/Internationalization
                                ../../../Engine/Content/Internationalization
                                UE4_UWP-UWP32-Debug.exe has triggered a breakpoint.

                                Comment

                                Working...
                                X