I have a folder in my project called "Guides" and have added "My Admin Guide.pdf".
The relevant xaml:
There is no easy as a link method to do the trick but the method once practiced is not so complicated. First of all assure yourself the PDF document is generated as an embedded resource. Then follow those steps :
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("{your_assembly_name}.{your_folder_and_file_name}");
FileInfo source = new FileInfo("{a_name_for_the_file}");
byte[] b;
using (BinaryReader br = new BinaryReader(stream))
{
b = br.ReadBytes((int)stream.Length);
}
File.WriteAllBytes(source.FullName, b);
This will save the file into the user's computer, on the document, but the File
will contain the path to open it easily.
If you rather like the user don't have it on his computer you can "hide" it to a temp folder using System.IO.Path.GetTempPath()
when you create the FileInfo.
Hope it can help you.