Reputation: 8327
I'm getting access denied when trying to access file system from my UWP app by using GetFolderFromPathAsync.
My UWP app needs to access the Windows 10 file system. I'm using broadFileSystemAccess but am stuck. My code below gets "access denied" when it does GetFolderFromPathAsync.
And when I try to set the manifest file type, I get the errors below.
Any help greatly appreciated.
My code
StorageFolder test_StorageFolder = await StorageFolder.GetFolderFromPathAsync(@"C:\demo");
StorageFile sampleFile = await test_StorageFolder.CreateFileAsync("test.txt",
Windows.Storage.CreationCollisionOption.ReplaceExisting);
Validation error. error C00CE020: App manifest validation error: The app manifest must be valid as per schema: Line 43, Column 12, Reason: Required attribute 'Name' is missing.
I.E...
> <?xml version="1.0" encoding="utf-8"?> <Package
> xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
> xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
> xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
> xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
> IgnorableNamespaces="uap mp build"
> xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build">
> <!--
> THIS PACKAGE MANIFEST FILE IS GENERATED BY THE BUILD PROCESS.
>
> Changes to this file will be lost when it is regenerated. To correct errors in this file, edit the source .appxmanifest file.
>
> For more information on package manifest files, see http://go.microsoft.com/fwlink/?LinkID=241727 --> <Identity
> Name="Microsoft.SDKSamples.CameraFrames.CS" Publisher="CN=Microsoft
> Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
> Version="1.0.0.0" ProcessorArchitecture="x64" /> <mp:PhoneIdentity
> PhoneProductId="2344b9de-5071-42a6-8873-7fdeb38d53dd"
> PhonePublisherId="00000000-0000-0000-0000-000000000000" />
> <Properties>
> <DisplayName>Camera Frames C# Sample</DisplayName>
> <PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>
> <Logo>Assets\StoreLogo-sdk.png</Logo> </Properties> <Dependencies>
> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17134.0" MaxVersionTested="10.0.17134.0" />
> </Dependencies> <Resources>
> <Resource Language="EN-US" /> </Resources> <Applications>
> <Application Id="App" Executable="CameraFrames.exe" EntryPoint="CameraFrames.App">
> <uap:VisualElements DisplayName="MOVANO System Hub Camera interface" Square150x150Logo="Assets\SquareTile-sdk.png"
> Square44x44Logo="Assets\SmallTile-sdk.png" Description="Camera Frames
> C# Sample" BackgroundColor="#00b2f0">
> <uap:SplashScreen Image="Assets\Splash-sdk.png" />
> <uap:DefaultTile>
> <uap:ShowNameOnTiles>
> <uap:ShowOn Tile="square150x150Logo" />
> </uap:ShowNameOnTiles>
> </uap:DefaultTile>
> </uap:VisualElements>
> <Extensions>
> <uap:Extension Category="windows.fileTypeAssociation">
> <uap:FileTypeAssociation Name="access">
> <uap:SupportedFileTypes>
> <uap:FileType>.txt</uap:FileType>
> <uap:FileType>.bin</uap:FileType>
> </uap:SupportedFileTypes>
> </uap:FileTypeAssociation>
> </uap:Extension>
> <uap:Extension Category="windows.fileTypeAssociation">
> <uap:FileTypeAssociation>
> <uap:SupportedFileTypes>
> <uap:FileType></uap:FileType>
> </uap:SupportedFileTypes>
> </uap:FileTypeAssociation>
> </uap:Extension>
> </Extensions>
> </Application> </Applications> <Capabilities>
> <Capability Name="privateNetworkClientServer" />
> <Capability Name="internetClientServer" />
> <DeviceCapability Name="microphone" />
> <DeviceCapability Name="webcam" /> </Capabilities> <build:Metadata>
> <build:Item Name="TargetFrameworkMoniker" Value=".NETCore,Version=v5.0" />
> <build:Item Name="VisualStudio" Version="15.0" />
> <build:Item Name="VisualStudioEdition" Value="Microsoft Visual Studio Professional 2017" />
> <build:Item Name="OperatingSystem" Version="10.0.17134.1 (WinBuild.160101.0800)" />
> <build:Item Name="Microsoft.Build.AppxPackage.dll" Version="15.0.28307.104" />
> <build:Item Name="ProjectGUID" Value="{1BF84D6E-9DCE-5653-AC51-BB4FC694A252}" />
> <build:Item Name="OptimizingToolset" Value="None" />
> <build:Item Name="TargetRuntime" Value="Managed" />
> <build:Item Name="Microsoft.Windows.UI.Xaml.Build.Tasks.dll" Version="15.0.28307.102" />
> <build:Item Name="MakePri.exe" Version="10.0.17134.12 (WinBuild.160101.0800)" /> </build:Metadata> </Package>
Upvotes: 0
Views: 3204
Reputation: 8327
I paid Microsoft tech support $500 and got the 'secret' answer. Here it is, my fellow coders...
Change
IgnorableNamespaces="uap mp">
to
IgnorableNamespaces="uap mp rescap">
Replace
<DeviceCapability xmlns:rescap=http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities
with
<rescap:Capability Name="broadFileSystemAccess"/>
Build > Config Manager > Active solution platform = x64 (it defaults to ARM)
You’re good to go.
Upvotes: 5