Since I have hit this issue myself with 4.10.1 just today after uninstalling an old version of VS2013 and adding common tools + C++ to VS2015 I wanted to share my findings.
I an using the “Project Launcher” to make my deployment as detailed here…
I have not modified any of the project setting build options (It’s a little confusing how you have both project setting build/package options and the “Project Launcher”?)
Yesterday (Pre VS2015) I could build the “Shipping” deployment with no issues. Today (VS2015) its a no go.
I have found that the following is true. (Assume my project is called “Project” for the following)
The file “Project\Saved\StagedBuilds\WindowsNoEditor\Project.exe” creates an instance of “Project\Saved\StagedBuilds\WindowsNoEditor\Project\Binaries\Win64\Project-Win64-Shipping.exe” and this instance throws the error “Failed to open descriptor file. '…/…/…/Project-Win32-Shipping/Project-Win32-Shipping.uproject”
After spending some time looking the UE4 source code I came to the conclusion that the “Project-Win64-Shipping.exe” that is being instanced is using its own file name to determine the project name and in turn the path to the “.uproject” file. Unfortunately since the file name of the “.exe” is not “Project.exe” it cannot find it.
I then tested this out by changing the file name from “Project-Win64-Shipping.exe” to “Project.exe” and ran it directly, bypassing the other tiny “Project.exe” file a couple of directories above. Low and behold the renamed file ran fine and did not throw the infamous “Failed to open descriptor file” error.
The only remaining issue after doing this was that the file “Project\Saved\StagedBuilds\WindowsNoEditor\Project.exe” now throws a new error about not being able to find the “Project-Win64-Shipping.exe” file since I have renamed it.
The issue does not happen with a development build since the output file is named correctly “Project\Saved\StagedBuilds\WindowsNoEditor\Project\Binaries\Win64\Project.exe” allowing the “.uproject” file to be found and the smaller “Project.exe” file to instance it.
The issue is also resolved by renaming the project folder and “.uproject” file from “Project” to “Project-Win64-Shipping” but this is very ugly and I refuse to accept this as the true solution.
I think the “UnrealBuild” tool is at fault, but I have not debugged it.
https://github.com/EpicGames/UnrealEngine/tree/ab9713f2c0346236b0fdd271d3304cf0991d23de/Engine/Source/Programs/UnrealBuildTool
Just my findings, not an answer but hopefully helps get to one.